home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: LaTeX Document
(document/latex).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LaTeX Document (document/latex)
| magic
| Supported |
1%
| dexvert
| DirectMusic Style (music/directMusicStyle)
| ext
| Unsupported |
1%
| dexvert
| Microsoft Word Style Sheet (other/microsoftWordStyleSheet)
| ext
| Unsupported |
1%
| dexvert
| KORG File (other/korgFile)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| LaTeX document text
| default
| |
99%
| file
| LaTeX auxiliary file, ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 5c 64 65 66 5c 64 6f 69 | 6e 64 23 31 23 32 7b 7d |\def\doi|nd#1#2{}|
|00000010| 0a 5c 64 65 66 5c 6f 62 | 65 79 6c 69 6e 65 7a 7b |.\def\ob|eylinez{|
|00000020| 7d 0a 5c 64 65 66 5c 69 | 6e 45 4e 56 7b 5c 72 65 |}.\def\i|nENV{\re|
|00000030| 6c 61 78 7d 0a 0a 5c 6d | 65 73 73 61 67 65 7b 64 |lax}..\m|essage{d|
|00000040| 65 66 75 6e 73 2c 7d 0a | 25 20 44 65 66 69 6e 65 |efuns,}.|% Define|
|00000050| 20 66 6f 72 6d 61 74 74 | 65 72 20 66 6f 72 20 64 | formatt|er for d|
|00000060| 65 66 75 6e 73 0a 25 20 | 46 69 72 73 74 2c 20 61 |efuns.% |First, a|
|00000070| 6c 6c 6f 77 20 75 73 65 | 72 20 74 6f 20 63 68 61 |llow use|r to cha|
|00000080| 6e 67 65 20 64 65 66 69 | 6e 69 74 69 6f 6e 20 6f |nge defi|nition o|
|00000090| 62 6a 65 63 74 20 66 6f | 6e 74 20 28 5c 64 66 29 |bject fo|nt (\df)|
|000000a0| 20 69 6e 74 65 72 6e 61 | 6c 6c 79 0a 5c 64 65 66 | interna|lly.\def|
|000000b0| 5c 73 65 74 64 65 66 66 | 6f 6e 74 23 31 7b 5c 63 |\setdeff|ont#1{\c|
|000000c0| 73 6e 61 6d 65 20 44 45 | 46 23 31 5c 65 6e 64 63 |sname DE|F#1\endc|
|000000d0| 73 6e 61 6d 65 7d 0a 0a | 5c 6e 65 77 73 6b 69 70 |sname}..|\newskip|
|000000e0| 5c 64 65 66 62 6f 64 79 | 69 6e 64 65 6e 74 20 5c |\defbody|indent \|
|000000f0| 64 65 66 62 6f 64 79 69 | 6e 64 65 6e 74 3d 2e 34 |defbodyi|ndent=.4|
|00000100| 69 6e 0a 5c 6e 65 77 73 | 6b 69 70 5c 64 65 66 61 |in.\news|kip\defa|
|00000110| 72 67 73 69 6e 64 65 6e | 74 20 5c 64 65 66 61 72 |rgsinden|t \defar|
|00000120| 67 73 69 6e 64 65 6e 74 | 3d 35 30 70 74 0a 5c 6e |gsindent|=50pt.\n|
|00000130| 65 77 73 6b 69 70 5c 64 | 65 66 74 79 70 65 6d 61 |ewskip\d|eftypema|
|00000140| 72 67 69 6e 20 5c 64 65 | 66 74 79 70 65 6d 61 72 |rgin \de|ftypemar|
|00000150| 67 69 6e 3d 31 32 70 74 | 0a 5c 6e 65 77 73 6b 69 |gin=12pt|.\newski|
|00000160| 70 5c 64 65 66 6c 61 73 | 74 61 72 67 6d 61 72 67 |p\deflas|targmarg|
|00000170| 69 6e 20 5c 64 65 66 6c | 61 73 74 61 72 67 6d 61 |in \defl|astargma|
|00000180| 72 67 69 6e 3d 31 38 70 | 74 0a 0a 5c 6e 65 77 63 |rgin=18p|t..\newc|
|00000190| 6f 75 6e 74 5c 70 61 72 | 65 6e 63 6f 75 6e 74 0a |ount\par|encount.|
|000001a0| 25 20 64 65 66 69 6e 65 | 20 5c 66 75 6e 63 74 69 |% define| \functi|
|000001b0| 6f 6e 70 61 72 65 6e 73 | 2c 20 77 68 69 63 68 20 |onparens|, which |
|000001c0| 6d 61 6b 65 73 20 28 20 | 61 6e 64 20 29 20 61 6e |makes ( |and ) an|
|000001d0| 64 20 26 20 64 6f 20 73 | 70 65 63 69 61 6c 20 74 |d & do s|pecial t|
|000001e0| 68 69 6e 67 73 2e 0a 25 | 20 5c 66 75 6e 63 74 69 |hings..%| \functi|
|000001f0| 6f 6e 70 61 72 65 6e 73 | 20 61 66 66 65 63 74 73 |onparens| affects|
|00000200| 20 74 68 65 20 67 72 6f | 75 70 20 69 74 20 69 73 | the gro|up it is|
|00000210| 20 63 6f 6e 74 61 69 6e | 65 64 20 69 6e 2e 0a 5c | contain|ed in..\|
|00000220| 64 65 66 5c 61 63 74 69 | 76 65 70 61 72 65 6e 73 |def\acti|veparens|
|00000230| 7b 25 0a 5c 63 61 74 63 | 6f 64 65 60 5c 28 3d 5c |{%.\catc|ode`\(=\|
|00000240| 61 63 74 69 76 65 20 5c | 63 61 74 63 6f 64 65 60 |active \|catcode`|
|00000250| 5c 29 3d 5c 61 63 74 69 | 76 65 20 5c 63 61 74 63 |\)=\acti|ve \catc|
|00000260| 6f 64 65 60 5c 26 3d 5c | 61 63 74 69 76 65 0a 5c |ode`\&=\|active.\|
|00000270| 63 61 74 63 6f 64 65 60 | 5c 5b 3d 5c 61 63 74 69 |catcode`|\[=\acti|
|00000280| 76 65 20 5c 63 61 74 63 | 6f 64 65 60 5c 5d 3d 5c |ve \catc|ode`\]=\|
|00000290| 61 63 74 69 76 65 7d 0a | 7b 5c 61 63 74 69 76 65 |active}.|{\active|
|000002a0| 70 61 72 65 6e 73 20 25 | 20 4e 6f 77 2c 20 73 6d |parens %| Now, sm|
|000002b0| 61 72 74 20 70 61 72 65 | 6e 73 20 64 6f 6e 27 74 |art pare|ns don't|
|000002c0| 20 74 75 72 6e 20 6f 6e | 20 75 6e 74 69 6c 20 26 | turn on| until &|
|000002d0| 66 6f 6f 20 28 73 65 65 | 20 5c 61 6d 70 72 6d 29 |foo (see| \amprm)|
|000002e0| 0a 5c 67 64 65 66 5c 66 | 75 6e 63 74 69 6f 6e 70 |.\gdef\f|unctionp|
|000002f0| 61 72 65 6e 73 7b 5c 62 | 6f 6c 64 62 72 61 78 5c |arens{\b|oldbrax\|
|00000300| 6c 65 74 26 3d 5c 61 6d | 70 72 6d 5c 70 61 72 65 |let&=\am|prm\pare|
|00000310| 6e 63 6f 75 6e 74 3d 30 | 20 7d 0a 5c 67 64 65 66 |ncount=0| }.\gdef|
|00000320| 5c 62 6f 6c 64 62 72 61 | 78 7b 5c 6c 65 74 28 3d |\boldbra|x{\let(=|
|00000330| 5c 6f 70 6e 72 5c 6c 65 | 74 29 3d 5c 63 6c 6e 72 |\opnr\le|t)=\clnr|
|00000340| 5c 6c 65 74 5b 3d 5c 6c | 62 72 62 5c 6c 65 74 5d |\let[=\l|brb\let]|
|00000350| 3d 5c 72 62 72 62 7d 0a | 0a 25 20 44 65 66 69 6e |=\rbrb}.|.% Defin|
|00000360| 69 74 69 6f 6e 73 20 6f | 66 20 28 2c 20 29 20 61 |itions o|f (, ) a|
|00000370| 6e 64 20 26 20 75 73 65 | 64 20 69 6e 20 61 72 67 |nd & use|d in arg|
|00000380| 73 20 66 6f 72 20 66 75 | 6e 63 74 69 6f 6e 73 2e |s for fu|nctions.|
|00000390| 0a 25 20 54 68 69 73 20 | 69 73 20 74 68 65 20 64 |.% This |is the d|
|000003a0| 65 66 69 6e 69 74 69 6f | 6e 20 6f 66 20 28 20 6f |efinitio|n of ( o|
|000003b0| 75 74 73 69 64 65 20 6f | 66 20 61 6c 6c 20 70 61 |utside o|f all pa|
|000003c0| 72 65 6e 74 68 65 73 65 | 73 2e 0a 5c 67 64 65 66 |renthese|s..\gdef|
|000003d0| 5c 6f 70 72 6d 23 31 7b | 7b 5c 72 6d 5c 63 68 61 |\oprm#1{|{\rm\cha|
|000003e0| 72 60 5c 28 7d 23 31 20 | 5c 62 66 20 5c 6c 65 74 |r`\(}#1 |\bf \let|
|000003f0| 28 3d 5c 6f 70 6e 65 73 | 74 65 64 20 25 0a 5c 67 |(=\opnes|ted %.\g|
|00000400| 6c 6f 62 61 6c 5c 61 64 | 76 61 6e 63 65 5c 70 61 |lobal\ad|vance\pa|
|00000410| 72 65 6e 63 6f 75 6e 74 | 20 62 79 20 31 20 7d 0a |rencount| by 1 }.|
|00000420| 25 0a 25 20 54 68 69 73 | 20 69 73 20 74 68 65 20 |%.% This| is the |
|00000430| 64 65 66 69 6e 69 74 69 | 6f 6e 20 6f 66 20 28 20 |definiti|on of ( |
|00000440| 77 68 65 6e 20 61 6c 72 | 65 61 64 79 20 69 6e 73 |when alr|eady ins|
|00000450| 69 64 65 20 61 20 6c 65 | 76 65 6c 20 6f 66 20 70 |ide a le|vel of p|
|00000460| 61 72 65 6e 73 2e 0a 5c | 67 64 65 66 5c 6f 70 6e |arens..\|gdef\opn|
|00000470| 65 73 74 65 64 7b 5c 63 | 68 61 72 60 5c 28 5c 67 |ested{\c|har`\(\g|
|00000480| 6c 6f 62 61 6c 5c 61 64 | 76 61 6e 63 65 5c 70 61 |lobal\ad|vance\pa|
|00000490| 72 65 6e 63 6f 75 6e 74 | 20 62 79 20 31 20 7d 0a |rencount| by 1 }.|
|000004a0| 25 0a 5c 67 64 65 66 5c | 63 6c 72 6d 7b 25 20 50 |%.\gdef\|clrm{% P|
|000004b0| 72 69 6e 74 20 61 20 70 | 61 72 65 6e 20 69 6e 20 |rint a p|aren in |
|000004c0| 72 6f 6d 61 6e 20 69 66 | 20 69 74 20 69 73 20 74 |roman if| it is t|
|000004d0| 61 6b 69 6e 67 20 75 73 | 20 62 61 63 6b 20 74 6f |aking us| back to|
|000004e0| 20 64 65 70 74 68 20 6f | 66 20 30 2e 0a 25 20 61 | depth o|f 0..% a|
|000004f0| 6c 73 6f 20 69 6e 20 74 | 68 61 74 20 63 61 73 65 |lso in t|hat case|
|00000500| 20 72 65 73 74 6f 72 65 | 20 74 68 65 20 6f 75 74 | restore| the out|
|00000510| 65 72 2d 6c 65 76 65 6c | 20 64 65 66 69 6e 69 74 |er-level| definit|
|00000520| 69 6f 6e 20 6f 66 20 28 | 2e 0a 5c 69 66 6e 75 6d |ion of (|..\ifnum|
|00000530| 20 5c 70 61 72 65 6e 63 | 6f 75 6e 74 3d 31 20 7b | \parenc|ount=1 {|
|00000540| 5c 72 6d 20 5c 63 68 61 | 72 20 60 5c 29 7d 5c 73 |\rm \cha|r `\)}\s|
|00000550| 6c 20 5c 6c 65 74 28 3d | 5c 6f 70 72 6d 20 5c 65 |l \let(=|\oprm \e|
|00000560| 6c 73 65 20 5c 63 68 61 | 72 20 60 5c 29 20 5c 66 |lse \cha|r `\) \f|
|00000570| 69 0a 5c 67 6c 6f 62 61 | 6c 5c 61 64 76 61 6e 63 |i.\globa|l\advanc|
|00000580| 65 20 5c 70 61 72 65 6e | 63 6f 75 6e 74 20 62 79 |e \paren|count by|
|00000590| 20 2d 31 20 7d 0a 25 20 | 49 66 20 77 65 20 65 6e | -1 }.% |If we en|
|000005a0| 63 6f 75 6e 74 65 72 20 | 26 66 6f 6f 2c 20 74 68 |counter |&foo, th|
|000005b0| 65 6e 20 74 75 72 6e 20 | 6f 6e 20 28 29 2d 68 61 |en turn |on ()-ha|
|000005c0| 63 6b 69 6e 67 20 61 66 | 74 65 72 77 61 72 64 73 |cking af|terwards|
|000005d0| 0a 5c 67 64 65 66 5c 61 | 6d 70 72 6d 23 31 7b 7b |.\gdef\a|mprm#1{{|
|000005e0| 5c 72 6d 5c 26 23 31 7d | 5c 6c 65 74 28 3d 5c 6f |\rm\}|\let(=\o|
|000005f0| 70 72 6d 20 5c 6c 65 74 | 29 3d 5c 63 6c 72 6d 5c |prm \let|)=\clrm\|
|00000600| 20 7d 0a 25 0a 5c 67 64 | 65 66 5c 6e 6f 72 6d 61 | }.%.\gd|ef\norma|
|00000610| 6c 70 61 72 65 6e 73 7b | 5c 62 6f 6c 64 62 72 61 |lparens{|\boldbra|
|00000620| 78 5c 6c 65 74 26 3d 5c | 61 6d 70 6e 72 7d 0a 7d |x\let&=\|ampnr}.}|
|00000630| 20 25 20 45 6e 64 20 6f | 66 20 64 65 66 69 6e 69 | % End o|f defini|
|00000640| 74 69 6f 6e 20 69 6e 73 | 69 64 65 20 5c 61 63 74 |tion ins|ide \act|
|00000650| 69 76 65 70 61 72 65 6e | 73 0a 25 25 20 54 68 65 |iveparen|s.%% The|
|00000660| 73 65 20 70 61 72 65 6e | 73 20 28 69 6e 20 5c 62 |se paren|s (in \b|
|00000670| 6f 6c 64 62 72 61 78 29 | 20 61 63 74 75 61 6c 6c |oldbrax)| actuall|
|00000680| 79 20 61 72 65 20 61 20 | 6c 69 74 74 6c 65 20 62 |y are a |little b|
|00000690| 6f 6c 64 65 72 20 74 68 | 61 6e 20 74 68 65 0a 25 |older th|an the.%|
|000006a0| 25 20 63 6f 6e 74 61 69 | 6e 65 64 20 74 65 78 74 |% contai|ned text|
|000006b0| 2e 20 20 54 68 69 73 20 | 69 73 20 65 73 70 65 63 |. This |is espec|
|000006c0| 69 61 6c 6c 79 20 6e 65 | 65 64 65 64 20 66 6f 72 |ially ne|eded for|
|000006d0| 20 5b 20 61 6e 64 20 5d | 0a 5c 64 65 66 5c 6f 70 | [ and ]|.\def\op|
|000006e0| 6e 72 7b 7b 5c 73 66 5c | 63 68 61 72 60 5c 28 7d |nr{{\sf\|char`\(}|
|000006f0| 7d 20 5c 64 65 66 5c 63 | 6c 6e 72 7b 7b 5c 73 66 |} \def\c|lnr{{\sf|
|00000700| 5c 63 68 61 72 60 5c 29 | 7d 7d 20 5c 64 65 66 5c |\char`\)|}} \def\|
|00000710| 61 6d 70 6e 72 7b 5c 26 | 7d 0a 5c 64 65 66 5c 6c |ampnr{\&|}.\def\l|
|00000720| 62 72 62 7b 7b 5c 62 66 | 5c 63 68 61 72 60 5c 5b |brb{{\bf|\char`\[|
|00000730| 7d 7d 20 5c 64 65 66 5c | 72 62 72 62 7b 7b 5c 62 |}} \def\|rbrb{{\b|
|00000740| 66 5c 63 68 61 72 60 5c | 5d 7d 7d 0a 0a 25 20 46 |f\char`\|]}}..% F|
|00000750| 69 72 73 74 2c 20 64 65 | 66 6e 61 6d 65 2c 20 77 |irst, de|fname, w|
|00000760| 68 69 63 68 20 66 6f 72 | 6d 61 74 73 20 74 68 65 |hich for|mats the|
|00000770| 20 68 65 61 64 65 72 20 | 6c 69 6e 65 20 69 74 73 | header |line its|
|00000780| 65 6c 66 2e 0a 25 23 31 | 20 73 68 6f 75 6c 64 20 |elf..%#1| should |
|00000790| 62 65 20 74 68 65 20 66 | 75 6e 63 74 69 6f 6e 20 |be the f|unction |
|000007a0| 6e 61 6d 65 2e 0a 25 20 | 23 32 20 73 68 6f 75 6c |name..% |#2 shoul|
|000007b0| 64 20 62 65 20 74 68 65 | 20 74 79 70 65 20 6f 66 |d be the| type of|
|000007c0| 20 64 65 66 69 6e 69 74 | 69 6f 6e 2c 20 73 75 63 | definit|ion, suc|
|000007d0| 68 20 61 73 20 22 46 75 | 6e 63 74 69 6f 6e 22 2e |h as "Fu|nction".|
|000007e0| 0a 0a 5c 64 65 66 5c 64 | 65 66 6e 61 6d 65 23 31 |..\def\d|efname#1|
|000007f0| 23 32 7b 25 0a 25 20 47 | 65 74 20 74 68 65 20 76 |#2{%.% G|et the v|
|00000800| 61 6c 75 65 73 20 6f 66 | 20 5c 6c 65 66 74 73 6b |alues of| \leftsk|
|00000810| 69 70 20 61 6e 64 20 5c | 72 69 67 68 74 73 6b 69 |ip and \|rightski|
|00000820| 70 20 61 73 20 74 68 65 | 79 20 77 65 72 65 0a 25 |p as the|y were.%|
|00000830| 20 6f 75 74 73 69 64 65 | 20 74 68 65 20 40 64 65 | outside| the @de|
|00000840| 66 2e 2e 2e 0a 5c 64 69 | 6d 65 6e 32 3d 5c 6c 65 |f....\di|men2=\le|
|00000850| 66 74 73 6b 69 70 0a 5c | 61 64 76 61 6e 63 65 5c |ftskip.\|advance\|
|00000860| 64 69 6d 65 6e 32 20 62 | 79 20 2d 5c 64 65 66 62 |dimen2 b|y -\defb|
|00000870| 6f 64 79 69 6e 64 65 6e | 74 0a 5c 64 69 6d 65 6e |odyinden|t.\dimen|
|00000880| 33 3d 5c 72 69 67 68 74 | 73 6b 69 70 0a 5c 61 64 |3=\right|skip.\ad|
|00000890| 76 61 6e 63 65 5c 64 69 | 6d 65 6e 33 20 62 79 20 |vance\di|men3 by |
|000008a0| 2d 5c 64 65 66 62 6f 64 | 79 69 6e 64 65 6e 74 0a |-\defbod|yindent.|
|000008b0| 5c 6e 6f 69 6e 64 65 6e | 74 20 20 20 20 20 20 20 |\noinden|t |
|000008c0| 20 25 0a 5c 73 65 74 62 | 6f 78 30 3d 5c 68 62 6f | %.\setb|ox0=\hbo|
|000008d0| 78 7b 5c 68 73 6b 69 70 | 20 5c 64 65 66 6c 61 73 |x{\hskip| \deflas|
|000008e0| 74 61 72 67 6d 61 72 67 | 69 6e 7b 5c 72 6d 20 23 |targmarg|in{\rm #|
|000008f0| 32 7d 5c 68 73 6b 69 70 | 20 5c 64 65 66 74 79 70 |2}\hskip| \deftyp|
|00000900| 65 6d 61 72 67 69 6e 7d | 25 0a 5c 64 69 6d 65 6e |emargin}|%.\dimen|
|00000910| 30 3d 5c 68 73 69 7a 65 | 20 5c 61 64 76 61 6e 63 |0=\hsize| \advanc|
|00000920| 65 20 5c 64 69 6d 65 6e | 30 20 62 79 20 2d 5c 77 |e \dimen|0 by -\w|
|00000930| 64 30 20 25 20 63 6f 6d | 70 75 74 65 20 73 69 7a |d0 % com|pute siz|
|00000940| 65 20 66 6f 72 20 66 69 | 72 73 74 20 6c 69 6e 65 |e for fi|rst line|
|00000950| 0a 5c 64 69 6d 65 6e 31 | 3d 5c 68 73 69 7a 65 20 |.\dimen1|=\hsize |
|00000960| 5c 61 64 76 61 6e 63 65 | 20 5c 64 69 6d 65 6e 31 |\advance| \dimen1|
|00000970| 20 62 79 20 2d 5c 64 65 | 66 61 72 67 73 69 6e 64 | by -\de|fargsind|
|00000980| 65 6e 74 20 25 73 69 7a | 65 20 66 6f 72 20 63 6f |ent %siz|e for co|
|00000990| 6e 74 69 6e 75 61 74 69 | 6f 6e 73 0a 5c 70 61 72 |ntinuati|ons.\par|
|000009a0| 73 68 61 70 65 20 32 20 | 30 69 6e 20 5c 64 69 6d |shape 2 |0in \dim|
|000009b0| 65 6e 30 20 5c 64 65 66 | 61 72 67 73 69 6e 64 65 |en0 \def|argsinde|
|000009c0| 6e 74 20 5c 64 69 6d 65 | 6e 31 20 20 20 20 20 25 |nt \dime|n1 %|
|000009d0| 0a 25 20 4e 6f 77 20 6f | 75 74 70 75 74 20 61 72 |.% Now o|utput ar|
|000009e0| 67 20 32 20 28 22 46 75 | 6e 63 74 69 6f 6e 22 20 |g 2 ("Fu|nction" |
|000009f0| 6f 72 20 73 6f 6d 65 20 | 73 75 63 68 29 0a 25 20 |or some |such).% |
|00000a00| 65 6e 64 69 6e 67 20 61 | 74 20 5c 64 65 66 74 79 |ending a|t \defty|
|00000a10| 70 65 6d 61 72 67 69 6e | 20 66 72 6f 6d 20 74 68 |pemargin| from th|
|00000a20| 65 20 72 69 67 68 74 20 | 6d 61 72 67 69 6e 2c 0a |e right |margin,.|
|00000a30| 25 20 62 75 74 20 73 74 | 75 63 6b 20 69 6e 73 69 |% but st|uck insi|
|00000a40| 64 65 20 61 20 62 6f 78 | 20 6f 66 20 77 69 64 74 |de a box| of widt|
|00000a50| 68 20 30 20 73 6f 20 69 | 74 20 64 6f 65 73 20 6e |h 0 so i|t does n|
|00000a60| 6f 74 20 69 6e 74 65 72 | 66 65 72 65 20 77 69 74 |ot inter|fere wit|
|00000a70| 68 20 6c 69 6e 65 62 72 | 65 61 6b 69 6e 67 0a 7b |h linebr|eaking.{|
|00000a80| 25 20 41 64 6a 75 73 74 | 20 5c 68 73 69 7a 65 20 |% Adjust| \hsize |
|00000a90| 74 6f 20 65 78 63 6c 75 | 64 65 20 74 68 65 20 61 |to exclu|de the a|
|00000aa0| 6d 62 69 65 6e 74 20 6d | 61 72 67 69 6e 73 2c 0a |mbient m|argins,.|
|00000ab0| 25 20 73 6f 20 74 68 61 | 74 20 5c 72 69 67 68 74 |% so tha|t \right|
|00000ac0| 6c 69 6e 65 20 77 69 6c | 6c 20 6f 62 65 79 20 74 |line wil|l obey t|
|00000ad0| 68 65 6d 2e 0a 5c 61 64 | 76 61 6e 63 65 20 5c 68 |hem..\ad|vance \h|
|00000ae0| 73 69 7a 65 20 62 79 20 | 2d 5c 64 69 6d 65 6e 32 |size by |-\dimen2|
|00000af0| 20 5c 61 64 76 61 6e 63 | 65 20 5c 68 73 69 7a 65 | \advanc|e \hsize|
|00000b00| 20 62 79 20 2d 5c 64 69 | 6d 65 6e 33 0a 5c 72 6c | by -\di|men3.\rl|
|00000b10| 61 70 7b 5c 72 69 67 68 | 74 6c 69 6e 65 7b 7b 5c |ap{\righ|tline{{\|
|00000b20| 72 6d 20 23 32 7d 5c 68 | 73 6b 69 70 20 5c 64 65 |rm #2}\h|skip \de|
|00000b30| 66 74 79 70 65 6d 61 72 | 67 69 6e 7d 7d 7d 25 0a |ftypemar|gin}}}%.|
|00000b40| 25 20 4d 61 6b 65 20 61 | 6c 6c 20 6c 69 6e 65 73 |% Make a|ll lines|
|00000b50| 20 75 6e 64 65 72 66 75 | 6c 6c 20 61 6e 64 20 6e | underfu|ll and n|
|00000b60| 6f 20 63 6f 6d 70 6c 61 | 69 6e 74 73 3a 0a 5c 74 |o compla|ints:.\t|
|00000b70| 6f 6c 65 72 61 6e 63 65 | 3d 31 30 30 30 30 20 5c |olerance|=10000 \|
|00000b80| 68 62 61 64 6e 65 73 73 | 3d 31 30 30 30 30 20 20 |hbadness|=10000 |
|00000b90| 20 20 0a 5c 61 64 76 61 | 6e 63 65 5c 6c 65 66 74 | .\adva|nce\left|
|00000ba0| 73 6b 69 70 20 62 79 20 | 2d 5c 64 65 66 62 6f 64 |skip by |-\defbod|
|00000bb0| 79 69 6e 64 65 6e 74 0a | 7b 5c 64 66 23 31 7d 5c |yindent.|{\df#1}\|
|00000bc0| 65 6e 73 6b 69 70 20 20 | 20 20 20 20 20 20 25 20 |enskip | % |
|00000bd0| 47 65 6e 65 72 61 74 65 | 20 66 75 6e 63 74 69 6f |Generate| functio|
|00000be0| 6e 20 6e 61 6d 65 0a 7d | 0a 0a 25 20 41 63 74 75 |n name.}|..% Actu|
|00000bf0| 61 6c 6c 79 20 70 72 6f | 63 65 73 73 20 74 68 65 |ally pro|cess the|
|00000c00| 20 62 6f 64 79 20 6f 66 | 20 61 20 64 65 66 69 6e | body of| a defin|
|00000c10| 69 74 69 6f 6e 0a 25 23 | 31 20 73 68 6f 75 6c 64 |ition.%#|1 should|
|00000c20| 20 62 65 20 74 68 65 20 | 74 65 72 6d 69 6e 61 74 | be the |terminat|
|00000c30| 69 6e 67 20 63 6f 6e 74 | 72 6f 6c 20 73 65 71 75 |ing cont|rol sequ|
|00000c40| 65 6e 63 65 2c 20 73 75 | 63 68 20 61 73 20 5c 45 |ence, su|ch as \E|
|00000c50| 64 65 66 75 6e 2e 0a 25 | 20 23 32 20 73 68 6f 75 |defun..%| #2 shou|
|00000c60| 6c 64 20 62 65 20 74 68 | 65 20 22 61 6e 6f 74 68 |ld be th|e "anoth|
|00000c70| 65 72 20 6e 61 6d 65 22 | 20 63 6f 6e 74 72 6f 6c |er name"| control|
|00000c80| 20 73 65 71 75 65 6e 63 | 65 2c 20 73 75 63 68 20 | sequenc|e, such |
|00000c90| 61 73 20 5c 64 65 66 75 | 6e 78 2e 0a 25 20 23 33 |as \defu|nx..% #3|
|00000ca0| 20 73 68 6f 75 6c 64 20 | 62 65 20 74 68 65 20 63 | should |be the c|
|00000cb0| 6f 6e 74 72 6f 6c 20 73 | 65 71 75 65 6e 63 65 20 |ontrol s|equence |
|00000cc0| 74 68 61 74 20 61 63 74 | 75 61 6c 6c 79 20 70 72 |that act|ually pr|
|00000cd0| 6f 63 65 73 73 65 73 20 | 74 68 65 20 68 65 61 64 |ocesses |the head|
|00000ce0| 65 72 2c 0a 25 20 20 20 | 20 73 75 63 68 20 61 73 |er,.% | such as|
|00000cf0| 20 5c 64 65 66 75 6e 68 | 65 61 64 65 72 2e 0a 0a | \defunh|eader...|
|00000d00| 5c 64 65 66 5c 64 65 66 | 70 61 72 73 65 62 6f 64 |\def\def|parsebod|
|00000d10| 79 23 31 23 32 23 33 7b | 5c 62 65 67 69 6e 67 72 |y#1#2#3{|\begingr|
|00000d20| 6f 75 70 5c 69 6e 45 4e | 56 25 20 45 6e 76 69 72 |oup\inEN|V% Envir|
|00000d30| 6f 6e 6d 65 6e 74 20 66 | 6f 72 20 64 65 66 69 6e |onment f|or defin|
|00000d40| 69 74 69 6f 6e 62 6f 64 | 79 0a 5c 6d 65 64 62 72 |itionbod|y.\medbr|
|00000d50| 65 61 6b 20 25 0a 25 20 | 44 65 66 69 6e 65 20 74 |eak %.% |Define t|
|00000d60| 68 65 20 65 6e 64 20 74 | 6f 6b 65 6e 20 74 68 61 |he end t|oken tha|
|00000d70| 74 20 74 68 69 73 20 64 | 65 66 69 6e 69 6e 67 20 |t this d|efining |
|00000d80| 63 6f 6e 73 74 72 75 63 | 74 20 73 70 65 63 69 66 |construc|t specif|
|00000d90| 69 65 73 0a 25 20 73 6f | 20 74 68 61 74 20 69 74 |ies.% so| that it|
|00000da0| 20 77 69 6c 6c 20 65 78 | 69 74 20 74 68 69 73 20 | will ex|it this |
|00000db0| 67 72 6f 75 70 2e 0a 5c | 64 65 66 23 31 7b 5c 65 |group..\|def#1{\e|
|00000dc0| 6e 64 67 72 61 66 5c 65 | 6e 64 67 72 6f 75 70 5c |ndgraf\e|ndgroup\|
|00000dd0| 6d 65 64 62 72 65 61 6b | 7d 25 0a 5c 64 65 66 23 |medbreak|}%.\def#|
|00000de0| 32 7b 5c 62 65 67 69 6e | 67 72 6f 75 70 5c 6f 62 |2{\begin|group\ob|
|00000df0| 65 79 6c 69 6e 65 7a 5c | 61 63 74 69 76 65 70 61 |eylinez\|activepa|
|00000e00| 72 65 6e 73 5c 73 70 61 | 63 65 73 70 6c 69 74 23 |rens\spa|cesplit#|
|00000e10| 33 7d 25 0a 5c 70 61 72 | 69 6e 64 65 6e 74 3d 30 |3}%.\par|indent=0|
|00000e20| 69 6e 0a 5c 61 64 76 61 | 6e 63 65 5c 6c 65 66 74 |in.\adva|nce\left|
|00000e30| 73 6b 69 70 20 62 79 20 | 5c 64 65 66 62 6f 64 79 |skip by |\defbody|
|00000e40| 69 6e 64 65 6e 74 20 5c | 61 64 76 61 6e 63 65 20 |indent \|advance |
|00000e50| 5c 72 69 67 68 74 73 6b | 69 70 20 62 79 20 5c 64 |\rightsk|ip by \d|
|00000e60| 65 66 62 6f 64 79 69 6e | 64 65 6e 74 0a 5c 62 65 |efbodyin|dent.\be|
|00000e70| 67 69 6e 67 72 6f 75 70 | 20 25 0a 5c 63 61 74 63 |gingroup| %.\catc|
|00000e80| 6f 64 65 20 36 31 3d 5c | 61 63 74 69 76 65 20 25 |ode 61=\|active %|
|00000e90| 0a 5c 6f 62 65 79 6c 69 | 6e 65 7a 5c 61 63 74 69 |.\obeyli|nez\acti|
|00000ea0| 76 65 70 61 72 65 6e 73 | 5c 73 70 61 63 65 73 70 |veparens|\spacesp|
|00000eb0| 6c 69 74 23 33 7d 0a 0a | 5c 64 65 66 5c 64 65 66 |lit#3}..|\def\def|
|00000ec0| 6d 65 74 68 70 61 72 73 | 65 62 6f 64 79 23 31 23 |methpars|ebody#1#|
|00000ed0| 32 23 33 23 34 7b 5c 62 | 65 67 69 6e 67 72 6f 75 |2#3#4{\b|egingrou|
|00000ee0| 70 5c 69 6e 45 4e 56 20 | 25 0a 5c 6d 65 64 62 72 |p\inENV |%.\medbr|
|00000ef0| 65 61 6b 20 25 0a 25 20 | 44 65 66 69 6e 65 20 74 |eak %.% |Define t|
|00000f00| 68 65 20 65 6e 64 20 74 | 6f 6b 65 6e 20 74 68 61 |he end t|oken tha|
|00000f10| 74 20 74 68 69 73 20 64 | 65 66 69 6e 69 6e 67 20 |t this d|efining |
|00000f20| 63 6f 6e 73 74 72 75 63 | 74 20 73 70 65 63 69 66 |construc|t specif|
|00000f30| 69 65 73 0a 25 20 73 6f | 20 74 68 61 74 20 69 74 |ies.% so| that it|
|00000f40| 20 77 69 6c 6c 20 65 78 | 69 74 20 74 68 69 73 20 | will ex|it this |
|00000f50| 67 72 6f 75 70 2e 0a 5c | 64 65 66 23 31 7b 5c 65 |group..\|def#1{\e|
|00000f60| 6e 64 67 72 61 66 5c 65 | 6e 64 67 72 6f 75 70 5c |ndgraf\e|ndgroup\|
|00000f70| 6d 65 64 62 72 65 61 6b | 7d 25 0a 5c 64 65 66 23 |medbreak|}%.\def#|
|00000f80| 32 23 23 31 7b 5c 62 65 | 67 69 6e 67 72 6f 75 70 |2##1{\be|gingroup|
|00000f90| 5c 6f 62 65 79 6c 69 6e | 65 7a 5c 61 63 74 69 76 |\obeylin|ez\activ|
|00000fa0| 65 70 61 72 65 6e 73 5c | 73 70 61 63 65 73 70 6c |eparens\|spacespl|
|00000fb0| 69 74 7b 23 33 7b 23 23 | 31 7d 7d 7d 25 0a 5c 70 |it{#3{##|1}}}%.\p|
|00000fc0| 61 72 69 6e 64 65 6e 74 | 3d 30 69 6e 0a 5c 61 64 |arindent|=0in.\ad|
|00000fd0| 76 61 6e 63 65 5c 6c 65 | 66 74 73 6b 69 70 20 62 |vance\le|ftskip b|
|00000fe0| 79 20 5c 64 65 66 62 6f | 64 79 69 6e 64 65 6e 74 |y \defbo|dyindent|
|00000ff0| 20 5c 61 64 76 61 6e 63 | 65 20 5c 72 69 67 68 74 | \advanc|e \right|
|00001000| 73 6b 69 70 20 62 79 20 | 5c 64 65 66 62 6f 64 79 |skip by |\defbody|
|00001010| 69 6e 64 65 6e 74 0a 5c | 62 65 67 69 6e 67 72 6f |indent.\|begingro|
|00001020| 75 70 5c 6f 62 65 79 6c | 69 6e 65 7a 5c 61 63 74 |up\obeyl|inez\act|
|00001030| 69 76 65 70 61 72 65 6e | 73 5c 73 70 61 63 65 73 |iveparen|s\spaces|
|00001040| 70 6c 69 74 7b 23 33 7b | 23 34 7d 7d 7d 0a 0a 5c |plit{#3{|#4}}}..\|
|00001050| 64 65 66 5c 64 65 66 6f | 70 70 61 72 73 65 62 6f |def\defo|pparsebo|
|00001060| 64 79 23 31 23 32 23 33 | 23 34 23 35 7b 5c 62 65 |dy#1#2#3|#4#5{\be|
|00001070| 67 69 6e 67 72 6f 75 70 | 5c 69 6e 45 4e 56 20 25 |gingroup|\inENV %|
|00001080| 0a 5c 6d 65 64 62 72 65 | 61 6b 20 25 0a 25 20 44 |.\medbre|ak %.% D|
|00001090| 65 66 69 6e 65 20 74 68 | 65 20 65 6e 64 20 74 6f |efine th|e end to|
|000010a0| 6b 65 6e 20 74 68 61 74 | 20 74 68 69 73 20 64 65 |ken that| this de|
|000010b0| 66 69 6e 69 6e 67 20 63 | 6f 6e 73 74 72 75 63 74 |fining c|onstruct|
|000010c0| 20 73 70 65 63 69 66 69 | 65 73 0a 25 20 73 6f 20 | specifi|es.% so |
|000010d0| 74 68 61 74 20 69 74 20 | 77 69 6c 6c 20 65 78 69 |that it |will exi|
|000010e0| 74 20 74 68 69 73 20 67 | 72 6f 75 70 2e 0a 5c 64 |t this g|roup..\d|
|000010f0| 65 66 23 31 7b 5c 65 6e | 64 67 72 61 66 5c 65 6e |ef#1{\en|dgraf\en|
|00001100| 64 67 72 6f 75 70 5c 6d | 65 64 62 72 65 61 6b 7d |dgroup\m|edbreak}|
|00001110| 25 0a 5c 64 65 66 23 32 | 23 23 31 20 23 23 32 20 |%.\def#2|##1 ##2 |
|00001120| 7b 5c 64 65 66 23 34 7b | 23 23 31 7d 25 0a 5c 62 |{\def#4{|##1}%.\b|
|00001130| 65 67 69 6e 67 72 6f 75 | 70 5c 6f 62 65 79 6c 69 |egingrou|p\obeyli|
|00001140| 6e 65 7a 5c 61 63 74 69 | 76 65 70 61 72 65 6e 73 |nez\acti|veparens|
|00001150| 5c 73 70 61 63 65 73 70 | 6c 69 74 7b 23 33 7b 23 |\spacesp|lit{#3{#|
|00001160| 23 32 7d 7d 7d 25 0a 5c | 70 61 72 69 6e 64 65 6e |#2}}}%.\|parinden|
|00001170| 74 3d 30 69 6e 0a 5c 61 | 64 76 61 6e 63 65 5c 6c |t=0in.\a|dvance\l|
|00001180| 65 66 74 73 6b 69 70 20 | 62 79 20 5c 64 65 66 62 |eftskip |by \defb|
|00001190| 6f 64 79 69 6e 64 65 6e | 74 20 5c 61 64 76 61 6e |odyinden|t \advan|
|000011a0| 63 65 20 5c 72 69 67 68 | 74 73 6b 69 70 20 62 79 |ce \righ|tskip by|
|000011b0| 20 5c 64 65 66 62 6f 64 | 79 69 6e 64 65 6e 74 0a | \defbod|yindent.|
|000011c0| 5c 62 65 67 69 6e 67 72 | 6f 75 70 5c 6f 62 65 79 |\begingr|oup\obey|
|000011d0| 6c 69 6e 65 7a 5c 61 63 | 74 69 76 65 70 61 72 65 |linez\ac|tivepare|
|000011e0| 6e 73 5c 73 70 61 63 65 | 73 70 6c 69 74 7b 23 33 |ns\space|split{#3|
|000011f0| 7b 23 35 7d 7d 7d 0a 0a | 25 20 54 68 65 73 65 20 |{#5}}}..|% These |
|00001200| 70 61 72 73 69 6e 67 20 | 66 75 6e 63 74 69 6f 6e |parsing |function|
|00001210| 73 20 61 72 65 20 73 69 | 6d 69 6c 61 72 20 74 6f |s are si|milar to|
|00001220| 20 74 68 65 20 70 72 65 | 63 65 64 69 6e 67 20 6f | the pre|ceding o|
|00001230| 6e 65 73 0a 25 20 65 78 | 63 65 70 74 20 74 68 61 |nes.% ex|cept tha|
|00001240| 74 20 74 68 65 79 20 64 | 6f 20 6e 6f 74 20 6d 61 |t they d|o not ma|
|00001250| 6b 65 20 70 61 72 65 6e | 73 20 69 6e 74 6f 20 61 |ke paren|s into a|
|00001260| 63 74 69 76 65 20 63 68 | 61 72 61 63 74 65 72 73 |ctive ch|aracters|
|00001270| 2e 0a 25 20 54 68 65 73 | 65 20 61 72 65 20 75 73 |..% Thes|e are us|
|00001280| 65 64 20 66 6f 72 20 22 | 76 61 72 69 61 62 6c 65 |ed for "|variable|
|00001290| 73 22 20 73 69 6e 63 65 | 20 74 68 65 79 20 68 61 |s" since| they ha|
|000012a0| 76 65 20 6e 6f 20 61 72 | 67 75 6d 65 6e 74 73 2e |ve no ar|guments.|
|000012b0| 0a 0a 5c 64 65 66 5c 64 | 65 66 76 61 72 70 61 72 |..\def\d|efvarpar|
|000012c0| 73 65 62 6f 64 79 23 31 | 23 32 23 33 7b 5c 62 65 |sebody#1|#2#3{\be|
|000012d0| 67 69 6e 67 72 6f 75 70 | 5c 69 6e 45 4e 56 25 20 |gingroup|\inENV% |
|000012e0| 45 6e 76 69 72 6f 6e 6d | 65 6e 74 20 66 6f 72 20 |Environm|ent for |
|000012f0| 64 65 66 69 6e 69 74 69 | 6f 6e 62 6f 64 79 0a 5c |definiti|onbody.\|
|00001300| 6d 65 64 62 72 65 61 6b | 20 25 0a 25 20 44 65 66 |medbreak| %.% Def|
|00001310| 69 6e 65 20 74 68 65 20 | 65 6e 64 20 74 6f 6b 65 |ine the |end toke|
|00001320| 6e 20 74 68 61 74 20 74 | 68 69 73 20 64 65 66 69 |n that t|his defi|
|00001330| 6e 69 6e 67 20 63 6f 6e | 73 74 72 75 63 74 20 73 |ning con|struct s|
|00001340| 70 65 63 69 66 69 65 73 | 0a 25 20 73 6f 20 74 68 |pecifies|.% so th|
|00001350| 61 74 20 69 74 20 77 69 | 6c 6c 20 65 78 69 74 20 |at it wi|ll exit |
|00001360| 74 68 69 73 20 67 72 6f | 75 70 2e 0a 5c 64 65 66 |this gro|up..\def|
|00001370| 23 31 7b 5c 65 6e 64 67 | 72 61 66 5c 65 6e 64 67 |#1{\endg|raf\endg|
|00001380| 72 6f 75 70 5c 6d 65 64 | 62 72 65 61 6b 7d 25 0a |roup\med|break}%.|
|00001390| 5c 64 65 66 23 32 7b 5c | 62 65 67 69 6e 67 72 6f |\def#2{\|begingro|
|000013a0| 75 70 5c 6f 62 65 79 6c | 69 6e 65 7a 5c 73 70 61 |up\obeyl|inez\spa|
|000013b0| 63 65 73 70 6c 69 74 23 | 33 7d 25 0a 5c 70 61 72 |cesplit#|3}%.\par|
|000013c0| 69 6e 64 65 6e 74 3d 30 | 69 6e 0a 5c 61 64 76 61 |indent=0|in.\adva|
|000013d0| 6e 63 65 5c 6c 65 66 74 | 73 6b 69 70 20 62 79 20 |nce\left|skip by |
|000013e0| 5c 64 65 66 62 6f 64 79 | 69 6e 64 65 6e 74 20 5c |\defbody|indent \|
|000013f0| 61 64 76 61 6e 63 65 20 | 5c 72 69 67 68 74 73 6b |advance |\rightsk|
|00001400| 69 70 20 62 79 20 5c 64 | 65 66 62 6f 64 79 69 6e |ip by \d|efbodyin|
|00001410| 64 65 6e 74 0a 5c 62 65 | 67 69 6e 67 72 6f 75 70 |dent.\be|gingroup|
|00001420| 20 25 0a 5c 63 61 74 63 | 6f 64 65 20 36 31 3d 5c | %.\catc|ode 61=\|
|00001430| 61 63 74 69 76 65 20 25 | 0a 5c 6f 62 65 79 6c 69 |active %|.\obeyli|
|00001440| 6e 65 7a 5c 73 70 61 63 | 65 73 70 6c 69 74 23 33 |nez\spac|esplit#3|
|00001450| 7d 0a 0a 5c 64 65 66 5c | 64 65 66 76 72 70 61 72 |}..\def\|defvrpar|
|00001460| 73 65 62 6f 64 79 23 31 | 23 32 23 33 23 34 7b 5c |sebody#1|#2#3#4{\|
|00001470| 62 65 67 69 6e 67 72 6f | 75 70 5c 69 6e 45 4e 56 |begingro|up\inENV|
|00001480| 20 25 0a 5c 6d 65 64 62 | 72 65 61 6b 20 25 0a 25 | %.\medb|reak %.%|
|00001490| 20 44 65 66 69 6e 65 20 | 74 68 65 20 65 6e 64 20 | Define |the end |
|000014a0| 74 6f 6b 65 6e 20 74 68 | 61 74 20 74 68 69 73 20 |token th|at this |
|000014b0| 64 65 66 69 6e 69 6e 67 | 20 63 6f 6e 73 74 72 75 |defining| constru|
|000014c0| 63 74 20 73 70 65 63 69 | 66 69 65 73 0a 25 20 73 |ct speci|fies.% s|
|000014d0| 6f 20 74 68 61 74 20 69 | 74 20 77 69 6c 6c 20 65 |o that i|t will e|
|000014e0| 78 69 74 20 74 68 69 73 | 20 67 72 6f 75 70 2e 0a |xit this| group..|
|000014f0| 5c 64 65 66 23 31 7b 5c | 65 6e 64 67 72 61 66 5c |\def#1{\|endgraf\|
|00001500| 65 6e 64 67 72 6f 75 70 | 5c 6d 65 64 62 72 65 61 |endgroup|\medbrea|
|00001510| 6b 7d 25 0a 5c 64 65 66 | 23 32 23 23 31 7b 5c 62 |k}%.\def|#2##1{\b|
|00001520| 65 67 69 6e 67 72 6f 75 | 70 5c 6f 62 65 79 6c 69 |egingrou|p\obeyli|
|00001530| 6e 65 7a 5c 73 70 61 63 | 65 73 70 6c 69 74 7b 23 |nez\spac|esplit{#|
|00001540| 33 7b 23 23 31 7d 7d 7d | 25 0a 5c 70 61 72 69 6e |3{##1}}}|%.\parin|
|00001550| 64 65 6e 74 3d 30 69 6e | 0a 5c 61 64 76 61 6e 63 |dent=0in|.\advanc|
|00001560| 65 5c 6c 65 66 74 73 6b | 69 70 20 62 79 20 5c 64 |e\leftsk|ip by \d|
|00001570| 65 66 62 6f 64 79 69 6e | 64 65 6e 74 20 5c 61 64 |efbodyin|dent \ad|
|00001580| 76 61 6e 63 65 20 5c 72 | 69 67 68 74 73 6b 69 70 |vance \r|ightskip|
|00001590| 20 62 79 20 5c 64 65 66 | 62 6f 64 79 69 6e 64 65 | by \def|bodyinde|
|000015a0| 6e 74 0a 5c 62 65 67 69 | 6e 67 72 6f 75 70 5c 6f |nt.\begi|ngroup\o|
|000015b0| 62 65 79 6c 69 6e 65 7a | 5c 73 70 61 63 65 73 70 |beylinez|\spacesp|
|000015c0| 6c 69 74 7b 23 33 7b 23 | 34 7d 7d 7d 0a 0a 5c 64 |lit{#3{#|4}}}..\d|
|000015d0| 65 66 5c 64 65 66 6f 70 | 76 61 72 70 61 72 73 65 |ef\defop|varparse|
|000015e0| 62 6f 64 79 23 31 23 32 | 23 33 23 34 23 35 7b 5c |body#1#2|#3#4#5{\|
|000015f0| 62 65 67 69 6e 67 72 6f | 75 70 5c 69 6e 45 4e 56 |begingro|up\inENV|
|00001600| 20 25 0a 5c 6d 65 64 62 | 72 65 61 6b 20 25 0a 25 | %.\medb|reak %.%|
|00001610| 20 44 65 66 69 6e 65 20 | 74 68 65 20 65 6e 64 20 | Define |the end |
|00001620| 74 6f 6b 65 6e 20 74 68 | 61 74 20 74 68 69 73 20 |token th|at this |
|00001630| 64 65 66 69 6e 69 6e 67 | 20 63 6f 6e 73 74 72 75 |defining| constru|
|00001640| 63 74 20 73 70 65 63 69 | 66 69 65 73 0a 25 20 73 |ct speci|fies.% s|
|00001650| 6f 20 74 68 61 74 20 69 | 74 20 77 69 6c 6c 20 65 |o that i|t will e|
|00001660| 78 69 74 20 74 68 69 73 | 20 67 72 6f 75 70 2e 0a |xit this| group..|
|00001670| 5c 64 65 66 23 31 7b 5c | 65 6e 64 67 72 61 66 5c |\def#1{\|endgraf\|
|00001680| 65 6e 64 67 72 6f 75 70 | 5c 6d 65 64 62 72 65 61 |endgroup|\medbrea|
|00001690| 6b 7d 25 0a 5c 64 65 66 | 23 32 23 23 31 20 23 23 |k}%.\def|#2##1 ##|
|000016a0| 32 20 7b 5c 64 65 66 23 | 34 7b 23 23 31 7d 25 0a |2 {\def#|4{##1}%.|
|000016b0| 5c 62 65 67 69 6e 67 72 | 6f 75 70 5c 6f 62 65 79 |\begingr|oup\obey|
|000016c0| 6c 69 6e 65 7a 5c 73 70 | 61 63 65 73 70 6c 69 74 |linez\sp|acesplit|
|000016d0| 7b 23 33 7b 23 23 32 7d | 7d 7d 25 0a 5c 70 61 72 |{#3{##2}|}}%.\par|
|000016e0| 69 6e 64 65 6e 74 3d 30 | 69 6e 0a 5c 61 64 76 61 |indent=0|in.\adva|
|000016f0| 6e 63 65 5c 6c 65 66 74 | 73 6b 69 70 20 62 79 20 |nce\left|skip by |
|00001700| 5c 64 65 66 62 6f 64 79 | 69 6e 64 65 6e 74 20 5c |\defbody|indent \|
|00001710| 61 64 76 61 6e 63 65 20 | 5c 72 69 67 68 74 73 6b |advance |\rightsk|
|00001720| 69 70 20 62 79 20 5c 64 | 65 66 62 6f 64 79 69 6e |ip by \d|efbodyin|
|00001730| 64 65 6e 74 0a 5c 62 65 | 67 69 6e 67 72 6f 75 70 |dent.\be|gingroup|
|00001740| 5c 6f 62 65 79 6c 69 6e | 65 7a 5c 73 70 61 63 65 |\obeylin|ez\space|
|00001750| 73 70 6c 69 74 7b 23 33 | 7b 23 35 7d 7d 7d 0a 0a |split{#3|{#5}}}..|
|00001760| 25 20 53 70 6c 69 74 20 | 75 70 20 23 32 20 61 74 |% Split |up #2 at|
|00001770| 20 74 68 65 20 66 69 72 | 73 74 20 73 70 61 63 65 | the fir|st space|
|00001780| 20 74 6f 6b 65 6e 2e 0a | 25 20 63 61 6c 6c 23 31 | token..|% call#1|
|00001790| 20 77 69 74 68 20 74 77 | 6f 20 61 72 67 75 6d 65 | with tw|o argume|
|000017a0| 6e 74 73 3a 0a 25 20 20 | 74 68 65 20 66 69 72 73 |nts:.% |the firs|
|000017b0| 74 20 69 73 20 61 6c 6c | 20 6f 66 20 23 32 20 62 |t is all| of #2 b|
|000017c0| 65 66 6f 72 65 20 74 68 | 65 20 73 70 61 63 65 20 |efore th|e space |
|000017d0| 74 6f 6b 65 6e 2c 0a 25 | 20 20 74 68 65 20 73 65 |token,.%| the se|
|000017e0| 63 6f 6e 64 20 69 73 20 | 61 6c 6c 20 6f 66 20 23 |cond is |all of #|
|000017f0| 32 20 61 66 74 65 72 20 | 74 68 61 74 20 73 70 61 |2 after |that spa|
|00001800| 63 65 20 74 6f 6b 65 6e | 2e 0a 25 20 49 66 20 23 |ce token|..% If #|
|00001810| 32 20 63 6f 6e 74 61 69 | 6e 73 20 6e 6f 20 73 70 |2 contai|ns no sp|
|00001820| 61 63 65 20 74 6f 6b 65 | 6e 2c 20 61 6c 6c 20 6f |ace toke|n, all o|
|00001830| 66 20 69 74 20 69 73 20 | 70 61 73 73 65 64 20 61 |f it is |passed a|
|00001840| 73 20 74 68 65 20 66 69 | 72 73 74 20 61 72 67 0a |s the fi|rst arg.|
|00001850| 25 20 61 6e 64 20 74 68 | 65 20 73 65 63 6f 6e 64 |% and th|e second|
|00001860| 20 69 73 20 70 61 73 73 | 65 64 20 61 73 20 65 6d | is pass|ed as em|
|00001870| 70 74 79 2e 0a 0a 7b 5c | 6f 62 65 79 6c 69 6e 65 |pty...{\|obeyline|
|00001880| 7a 0a 5c 67 64 65 66 5c | 73 70 61 63 65 73 70 6c |z.\gdef\|spacespl|
|00001890| 69 74 23 31 23 32 7b 5c | 65 6e 64 67 72 6f 75 70 |it#1#2{\|endgroup|
|000018a0| 5c 73 70 61 63 65 73 70 | 6c 69 74 66 6f 6f 7b 23 |\spacesp|litfoo{#|
|000018b0| 31 7d 7b 23 32 7d 5c 72 | 65 6c 61 78 5c 73 70 61 |1}{#2}\r|elax\spa|
|000018c0| 63 65 73 70 6c 69 74 66 | 6f 6f 7d 25 0a 5c 6c 6f |cesplitf|oo}%.\lo|
|000018d0| 6e 67 5c 67 64 65 66 5c | 73 70 61 63 65 73 70 6c |ng\gdef\|spacespl|
|000018e0| 69 74 66 6f 6f 23 31 23 | 32 23 33 23 34 5c 73 70 |itfoo#1#|2#3#4\sp|
|000018f0| 61 63 65 73 70 6c 69 74 | 66 6f 6f 7b 25 0a 5c 69 |acesplit|foo{%.\i|
|00001900| 66 78 5c 72 65 6c 61 78 | 20 23 33 25 0a 23 31 7b |fx\relax| #3%.#1{|
|00001910| 23 32 7d 7b 7d 5c 65 6c | 73 65 23 31 7b 23 32 7d |#2}{}\el|se#1{#2}|
|00001920| 7b 23 33 23 34 7d 5c 66 | 69 7d 7d 0a 0a 5c 64 65 |{#3#4}\f|i}}..\de|
|00001930| 66 5c 73 70 61 63 65 73 | 70 6c 69 74 23 31 23 32 |f\spaces|plit#1#2|
|00001940| 7b 5c 65 6e 64 67 72 6f | 75 70 5c 73 70 61 63 65 |{\endgro|up\space|
|00001950| 73 70 6c 69 74 62 61 72 | 7b 23 31 7d 7b 23 32 7d |splitbar|{#1}{#2}|
|00001960| 7d 0a 5c 64 65 66 5c 73 | 70 61 63 65 73 70 6c 69 |}.\def\s|pacespli|
|00001970| 74 62 61 72 23 31 23 32 | 23 33 7b 23 31 7b 23 32 |tbar#1#2|#3{#1{#2|
|00001980| 7d 7b 23 33 7d 7d 0a 0a | 25 20 53 6f 20 6d 75 63 |}{#3}}..|% So muc|
|00001990| 68 20 66 6f 72 20 74 68 | 65 20 74 68 69 6e 67 73 |h for th|e things|
|000019a0| 20 63 6f 6d 6d 6f 6e 20 | 74 6f 20 61 6c 6c 20 6b | common |to all k|
|000019b0| 69 6e 64 73 20 6f 66 20 | 64 65 66 69 6e 69 74 69 |inds of |definiti|
|000019c0| 6f 6e 73 2e 0a 0a 25 20 | 44 65 66 69 6e 65 20 40 |ons...% |Define @|
|000019d0| 64 65 66 75 6e 2e 0a 0a | 25 20 46 69 72 73 74 2c |defun...|% First,|
|000019e0| 20 64 65 66 69 6e 65 20 | 74 68 65 20 70 72 6f 63 | define |the proc|
|000019f0| 65 73 73 69 6e 67 20 74 | 68 61 74 20 69 73 20 77 |essing t|hat is w|
|00001a00| 61 6e 74 65 64 20 66 6f | 72 20 61 72 67 75 6d 65 |anted fo|r argume|
|00001a10| 6e 74 73 20 6f 66 20 5c | 64 65 66 75 6e 0a 25 20 |nts of \|defun.% |
|00001a20| 55 73 65 20 74 68 69 73 | 20 74 6f 20 65 78 70 61 |Use this| to expa|
|00001a30| 6e 64 20 74 68 65 20 61 | 72 67 73 20 61 6e 64 20 |nd the a|rgs and |
|00001a40| 74 65 72 6d 69 6e 61 74 | 65 20 74 68 65 20 70 61 |terminat|e the pa|
|00001a50| 72 61 67 72 61 70 68 20 | 74 68 65 79 20 6d 61 6b |ragraph |they mak|
|00001a60| 65 20 75 70 0a 0a 5c 64 | 65 66 5c 64 65 66 75 6e |e up..\d|ef\defun|
|00001a70| 61 72 67 73 23 31 7b 5c | 66 75 6e 63 74 69 6f 6e |args#1{\|function|
|00001a80| 70 61 72 65 6e 73 20 5c | 73 6c 0a 25 20 45 78 70 |parens \|sl.% Exp|
|00001a90| 61 6e 64 2c 20 70 72 65 | 76 65 6e 74 69 6e 67 20 |and, pre|venting |
|00001aa0| 68 79 70 68 65 6e 61 74 | 69 6f 6e 20 61 74 20 60 |hyphenat|ion at `|
|00001ab0| 2d 27 20 63 68 61 72 73 | 2e 0a 25 20 4e 6f 74 65 |-' chars|..% Note|
|00001ac0| 20 74 68 61 74 20 67 72 | 6f 75 70 73 20 64 6f 6e | that gr|oups don|
|00001ad0| 27 74 20 61 66 66 65 63 | 74 20 63 68 61 6e 67 65 |'t affec|t change|
|00001ae0| 73 20 69 6e 20 5c 68 79 | 70 68 65 6e 63 68 61 72 |s in \hy|phenchar|
|00001af0| 2e 0a 5c 68 79 70 68 65 | 6e 63 68 61 72 5c 74 65 |..\hyphe|nchar\te|
|00001b00| 6e 73 6c 3d 30 0a 23 31 | 25 0a 5c 68 79 70 68 65 |nsl=0.#1|%.\hyphe|
|00001b10| 6e 63 68 61 72 5c 74 65 | 6e 73 6c 3d 34 35 0a 5c |nchar\te|nsl=45.\|
|00001b20| 69 66 6e 75 6d 5c 70 61 | 72 65 6e 63 6f 75 6e 74 |ifnum\pa|rencount|
|00001b30| 3d 30 20 5c 65 6c 73 65 | 20 5c 65 72 72 6d 65 73 |=0 \else| \errmes|
|00001b40| 73 61 67 65 7b 75 6e 62 | 61 6c 61 6e 63 65 64 20 |sage{unb|alanced |
|00001b50| 70 61 72 65 6e 73 20 69 | 6e 20 40 64 65 66 20 61 |parens i|n @def a|
|00001b60| 72 67 75 6d 65 6e 74 73 | 7d 5c 66 69 25 0a 5c 69 |rguments|}\fi%.\i|
|00001b70| 6e 74 65 72 6c 69 6e 65 | 70 65 6e 61 6c 74 79 3d |nterline|penalty=|
|00001b80| 31 30 30 30 30 0a 5c 61 | 64 76 61 6e 63 65 5c 72 |10000.\a|dvance\r|
|00001b90| 69 67 68 74 73 6b 69 70 | 20 62 79 20 30 70 74 20 |ightskip| by 0pt |
|00001ba0| 70 6c 75 73 20 31 66 69 | 6c 0a 5c 65 6e 64 67 72 |plus 1fi|l.\endgr|
|00001bb0| 61 66 5c 70 65 6e 61 6c | 74 79 20 31 30 30 30 30 |af\penal|ty 10000|
|00001bc0| 5c 76 73 6b 69 70 20 2d | 5c 70 61 72 73 6b 69 70 |\vskip -|\parskip|
|00001bd0| 5c 70 65 6e 61 6c 74 79 | 20 31 30 30 30 30 25 0a |\penalty| 10000%.|
|00001be0| 7d 0a 0a 5c 64 65 66 5c | 64 65 66 74 79 70 65 66 |}..\def\|deftypef|
|00001bf0| 75 6e 61 72 67 73 23 31 | 7b 25 0a 25 20 45 78 70 |unargs#1|{%.% Exp|
|00001c00| 61 6e 64 2c 20 70 72 65 | 76 65 6e 74 69 6e 67 20 |and, pre|venting |
|00001c10| 68 79 70 68 65 6e 61 74 | 69 6f 6e 20 61 74 20 60 |hyphenat|ion at `|
|00001c20| 2d 27 20 63 68 61 72 73 | 2e 0a 25 20 4e 6f 74 65 |-' chars|..% Note|
|00001c30| 20 74 68 61 74 20 67 72 | 6f 75 70 73 20 64 6f 6e | that gr|oups don|
|00001c40| 27 74 20 61 66 66 65 63 | 74 20 63 68 61 6e 67 65 |'t affec|t change|
|00001c50| 73 20 69 6e 20 5c 68 79 | 70 68 65 6e 63 68 61 72 |s in \hy|phenchar|
|00001c60| 2e 0a 5c 66 75 6e 63 74 | 69 6f 6e 70 61 72 65 6e |..\funct|ionparen|
|00001c70| 73 0a 5c 63 6f 64 65 7b | 23 31 7d 25 0a 5c 69 6e |s.\code{|#1}%.\in|
|00001c80| 74 65 72 6c 69 6e 65 70 | 65 6e 61 6c 74 79 3d 31 |terlinep|enalty=1|
|00001c90| 30 30 30 30 0a 5c 61 64 | 76 61 6e 63 65 5c 72 69 |0000.\ad|vance\ri|
|00001ca0| 67 68 74 73 6b 69 70 20 | 62 79 20 30 70 74 20 70 |ghtskip |by 0pt p|
|00001cb0| 6c 75 73 20 31 66 69 6c | 0a 5c 65 6e 64 67 72 61 |lus 1fil|.\endgra|
|00001cc0| 66 5c 70 65 6e 61 6c 74 | 79 20 31 30 30 30 30 5c |f\penalt|y 10000\|
|00001cd0| 76 73 6b 69 70 20 2d 5c | 70 61 72 73 6b 69 70 5c |vskip -\|parskip\|
|00001ce0| 70 65 6e 61 6c 74 79 20 | 31 30 30 30 30 25 0a 7d |penalty |10000%.}|
|00001cf0| 0a 0a 25 20 44 6f 20 63 | 6f 6d 70 6c 65 74 65 20 |..% Do c|omplete |
|00001d00| 70 72 6f 63 65 73 73 69 | 6e 67 20 6f 66 20 6f 6e |processi|ng of on|
|00001d10| 65 20 40 64 65 66 75 6e | 20 6f 72 20 40 64 65 66 |e @defun| or @def|
|00001d20| 75 6e 78 20 6c 69 6e 65 | 20 61 6c 72 65 61 64 79 |unx line| already|
|00001d30| 20 70 61 72 73 65 64 2e | 0a 0a 25 20 40 64 65 66 | parsed.|..% @def|
|00001d40| 66 6e 20 43 6f 6d 6d 61 | 6e 64 20 66 6f 72 77 61 |fn Comma|nd forwa|
|00001d50| 72 64 2d 63 68 61 72 20 | 6e 63 68 61 72 73 0a 0a |rd-char |nchars..|
|00001d60| 5c 64 65 66 5c 64 65 66 | 66 6e 7b 5c 64 65 66 6d |\def\def|fn{\defm|
|00001d70| 65 74 68 70 61 72 73 65 | 62 6f 64 79 5c 65 6e 64 |ethparse|body\end|
|00001d80| 64 65 66 66 6e 5c 64 65 | 66 66 6e 78 5c 64 65 66 |deffn\de|ffnx\def|
|00001d90| 66 6e 68 65 61 64 65 72 | 7d 0a 0a 5c 64 65 66 5c |fnheader|}..\def\|
|00001da0| 64 65 66 66 6e 68 65 61 | 64 65 72 23 31 23 32 23 |deffnhea|der#1#2#|
|00001db0| 33 7b 5c 66 6e 69 6e 64 | 65 78 62 6f 6c 64 7b 23 |3{\fnind|exbold{#|
|00001dc0| 32 7d 25 0a 5c 62 65 67 | 69 6e 67 72 6f 75 70 5c |2}%.\beg|ingroup\|
|00001dd0| 64 65 66 6e 61 6d 65 7b | 23 32 7d 7b 23 31 7d 5c |defname{|#2}{#1}\|
|00001de0| 64 65 66 75 6e 61 72 67 | 73 7b 23 33 7d 5c 65 6e |defunarg|s{#3}\en|
|00001df0| 64 67 72 6f 75 70 20 25 | 0a 5c 63 61 74 63 6f 64 |dgroup %|.\catcod|
|00001e00| 65 20 36 31 3d 5c 6f 74 | 68 65 72 20 25 20 54 75 |e 61=\ot|her % Tu|
|00001e10| 72 6e 20 6f 66 66 20 63 | 68 61 6e 67 65 20 6d 61 |rn off c|hange ma|
|00001e20| 64 65 20 69 6e 20 5c 64 | 65 66 70 61 72 73 65 62 |de in \d|efparseb|
|00001e30| 6f 64 79 0a 7d 0a 0a 25 | 20 40 64 65 66 75 6e 20 |ody.}..%| @defun |
|00001e40| 3d 3d 20 40 64 65 66 66 | 6e 20 46 75 6e 63 74 69 |== @deff|n Functi|
|00001e50| 6f 6e 0a 0a 5c 64 65 66 | 5c 64 65 66 75 6e 7b 5c |on..\def|\defun{\|
|00001e60| 64 65 66 70 61 72 73 65 | 62 6f 64 79 5c 65 6e 64 |defparse|body\end|
|00001e70| 64 65 66 75 6e 5c 64 65 | 66 75 6e 78 5c 64 65 66 |defun\de|funx\def|
|00001e80| 75 6e 68 65 61 64 65 72 | 7d 0a 0a 5c 64 65 66 5c |unheader|}..\def\|
|00001e90| 64 65 66 75 6e 68 65 61 | 64 65 72 23 31 23 32 7b |defunhea|der#1#2{|
|00001ea0| 5c 66 6e 69 6e 64 65 78 | 62 6f 6c 64 7b 23 31 7d |\fnindex|bold{#1}|
|00001eb0| 25 20 4d 61 6b 65 20 65 | 6e 74 72 79 20 69 6e 20 |% Make e|ntry in |
|00001ec0| 66 75 6e 63 74 69 6f 6e | 20 69 6e 64 65 78 0a 5c |function| index.\|
|00001ed0| 62 65 67 69 6e 67 72 6f | 75 70 5c 64 65 66 6e 61 |begingro|up\defna|
|00001ee0| 6d 65 7b 23 31 7d 7b 46 | 75 6e 63 74 69 6f 6e 7d |me{#1}{F|unction}|
|00001ef0| 25 0a 5c 64 65 66 75 6e | 61 72 67 73 7b 23 32 7d |%.\defun|args{#2}|
|00001f00| 5c 65 6e 64 67 72 6f 75 | 70 20 25 0a 5c 63 61 74 |\endgrou|p %.\cat|
|00001f10| 63 6f 64 65 20 36 31 3d | 5c 6f 74 68 65 72 20 25 |code 61=|\other %|
|00001f20| 20 54 75 72 6e 20 6f 66 | 66 20 63 68 61 6e 67 65 | Turn of|f change|
|00001f30| 20 6d 61 64 65 20 69 6e | 20 5c 64 65 66 70 61 72 | made in| \defpar|
|00001f40| 73 65 62 6f 64 79 0a 7d | 0a 0a 25 20 40 64 65 66 |sebody.}|..% @def|
|00001f50| 74 79 70 65 66 75 6e 20 | 69 6e 74 20 66 6f 6f 62 |typefun |int foob|
|00001f60| 61 72 20 28 69 6e 74 20 | 40 76 61 72 7b 66 6f 6f |ar (int |@var{foo|
|00001f70| 7d 2c 20 66 6c 6f 61 74 | 20 40 76 61 72 7b 62 61 |}, float| @var{ba|
|00001f80| 72 7d 29 0a 0a 5c 64 65 | 66 5c 64 65 66 74 79 70 |r})..\de|f\deftyp|
|00001f90| 65 66 75 6e 7b 5c 64 65 | 66 70 61 72 73 65 62 6f |efun{\de|fparsebo|
|00001fa0| 64 79 5c 65 6e 64 64 65 | 66 74 79 70 65 66 75 6e |dy\endde|ftypefun|
|00001fb0| 5c 64 65 66 74 79 70 65 | 66 75 6e 78 5c 64 65 66 |\deftype|funx\def|
|00001fc0| 74 79 70 65 66 75 6e 68 | 65 61 64 65 72 7d 0a 0a |typefunh|eader}..|
|00001fd0| 25 23 31 20 69 73 20 74 | 68 65 20 64 61 74 61 20 |%#1 is t|he data |
|00001fe0| 74 79 70 65 2e 20 20 23 | 32 20 69 73 20 74 68 65 |type. #|2 is the|
|00001ff0| 20 6e 61 6d 65 20 61 6e | 64 20 61 72 67 73 2e 0a | name an|d args..|
|00002000| 5c 64 65 66 5c 64 65 66 | 74 79 70 65 66 75 6e 68 |\def\def|typefunh|
|00002010| 65 61 64 65 72 23 31 23 | 32 7b 5c 64 65 66 74 79 |eader#1#|2{\defty|
|00002020| 70 65 66 75 6e 68 65 61 | 64 65 72 78 7b 23 31 7d |pefunhea|derx{#1}|
|00002030| 7b 23 32 7d 7d 0a 25 23 | 31 20 69 73 20 74 68 65 |{#2}}.%#|1 is the|
|00002040| 20 64 61 74 61 20 74 79 | 70 65 2c 20 23 32 20 74 | data ty|pe, #2 t|
|00002050| 68 65 20 6e 61 6d 65 2c | 20 23 33 20 74 68 65 20 |he name,| #3 the |
|00002060| 61 72 67 73 2e 0a 5c 64 | 65 66 5c 64 65 66 74 79 |args..\d|ef\defty|
|00002070| 70 65 66 75 6e 68 65 61 | 64 65 72 78 23 31 23 32 |pefunhea|derx#1#2|
|00002080| 23 33 7b 25 0a 5c 66 6e | 69 6e 64 65 78 62 6f 6c |#3{%.\fn|indexbol|
|00002090| 64 7b 23 32 7d 25 20 4d | 61 6b 65 20 65 6e 74 72 |d{#2}% M|ake entr|
|000020a0| 79 20 69 6e 20 66 75 6e | 63 74 69 6f 6e 20 69 6e |y in fun|ction in|
|000020b0| 64 65 78 0a 5c 62 65 67 | 69 6e 67 72 6f 75 70 5c |dex.\beg|ingroup\|
|000020c0| 64 65 66 6e 61 6d 65 7b | 5c 63 6f 64 65 7b 23 31 |defname{|\code{#1|
|000020d0| 7d 20 23 32 7d 7b 46 75 | 6e 63 74 69 6f 6e 7d 25 |} #2}{Fu|nction}%|
|000020e0| 0a 5c 64 65 66 74 79 70 | 65 66 75 6e 61 72 67 73 |.\deftyp|efunargs|
|000020f0| 7b 23 33 7d 5c 65 6e 64 | 67 72 6f 75 70 20 25 0a |{#3}\end|group %.|
|00002100| 5c 63 61 74 63 6f 64 65 | 20 36 31 3d 5c 6f 74 68 |\catcode| 61=\oth|
|00002110| 65 72 20 25 20 54 75 72 | 6e 20 6f 66 66 20 63 68 |er % Tur|n off ch|
|00002120| 61 6e 67 65 20 6d 61 64 | 65 20 69 6e 20 5c 64 65 |ange mad|e in \de|
|00002130| 66 70 61 72 73 65 62 6f | 64 79 0a 7d 0a 0a 25 20 |fparsebo|dy.}..% |
|00002140| 40 64 65 66 74 79 70 65 | 66 6e 20 7b 4c 69 62 72 |@deftype|fn {Libr|
|00002150| 61 72 79 20 46 75 6e 63 | 74 69 6f 6e 7d 20 69 6e |ary Func|tion} in|
|00002160| 74 20 66 6f 6f 62 61 72 | 20 28 69 6e 74 20 40 76 |t foobar| (int @v|
|00002170| 61 72 7b 66 6f 6f 7d 2c | 20 66 6c 6f 61 74 20 40 |ar{foo},| float @|
|00002180| 76 61 72 7b 62 61 72 7d | 29 0a 0a 5c 64 65 66 5c |var{bar}|)..\def\|
|00002190| 64 65 66 74 79 70 65 66 | 6e 7b 5c 64 65 66 6d 65 |deftypef|n{\defme|
|000021a0| 74 68 70 61 72 73 65 62 | 6f 64 79 5c 65 6e 64 64 |thparseb|ody\endd|
|000021b0| 65 66 74 79 70 65 66 6e | 5c 64 65 66 74 79 70 65 |eftypefn|\deftype|
|000021c0| 66 6e 78 5c 64 65 66 74 | 79 70 65 66 6e 68 65 61 |fnx\deft|ypefnhea|
|000021d0| 64 65 72 7d 0a 0a 25 23 | 31 20 69 73 20 74 68 65 |der}..%#|1 is the|
|000021e0| 20 63 6c 61 73 73 69 66 | 69 63 61 74 69 6f 6e 2e | classif|ication.|
|000021f0| 20 20 23 32 20 69 73 20 | 74 68 65 20 64 61 74 61 | #2 is |the data|
|00002200| 20 74 79 70 65 2e 20 20 | 23 33 20 69 73 20 74 68 | type. |#3 is th|
|00002210| 65 20 6e 61 6d 65 20 61 | 6e 64 20 61 72 67 73 2e |e name a|nd args.|
|00002220| 0a 5c 64 65 66 5c 64 65 | 66 74 79 70 65 66 6e 68 |.\def\de|ftypefnh|
|00002230| 65 61 64 65 72 23 31 23 | 32 23 33 7b 5c 64 65 66 |eader#1#|2#3{\def|
|00002240| 74 79 70 65 66 6e 68 65 | 61 64 65 72 78 7b 23 31 |typefnhe|aderx{#1|
|00002250| 7d 7b 23 32 7d 7b 23 33 | 7d 7d 0a 25 23 31 20 69 |}{#2}{#3|}}.%#1 i|
|00002260| 73 20 74 68 65 20 63 6c | 61 73 73 69 66 69 63 61 |s the cl|assifica|
|00002270| 74 69 6f 6e 2c 20 23 32 | 20 74 68 65 20 64 61 74 |tion, #2| the dat|
|00002280| 61 20 74 79 70 65 2c 20 | 23 33 20 74 68 65 20 6e |a type, |#3 the n|
|00002290| 61 6d 65 2c 20 23 34 20 | 74 68 65 20 61 72 67 73 |ame, #4 |the args|
|000022a0| 2e 0a 5c 64 65 66 5c 64 | 65 66 74 79 70 65 66 6e |..\def\d|eftypefn|
|000022b0| 68 65 61 64 65 72 78 23 | 31 23 32 23 33 23 34 7b |headerx#|1#2#3#4{|
|000022c0| 25 0a 5c 66 6e 69 6e 64 | 65 78 62 6f 6c 64 7b 23 |%.\fnind|exbold{#|
|000022d0| 33 7d 25 20 4d 61 6b 65 | 20 65 6e 74 72 79 20 69 |3}% Make| entry i|
|000022e0| 6e 20 66 75 6e 63 74 69 | 6f 6e 20 69 6e 64 65 78 |n functi|on index|
|000022f0| 0a 5c 62 65 67 69 6e 67 | 72 6f 75 70 5c 64 65 66 |.\beging|roup\def|
|00002300| 6e 61 6d 65 7b 5c 63 6f | 64 65 7b 23 32 7d 20 23 |name{\co|de{#2} #|
|00002310| 33 7d 7b 23 31 7d 25 0a | 5c 64 65 66 74 79 70 65 |3}{#1}%.|\deftype|
|00002320| 66 75 6e 61 72 67 73 7b | 23 34 7d 5c 65 6e 64 67 |funargs{|#4}\endg|
|00002330| 72 6f 75 70 20 25 0a 5c | 63 61 74 63 6f 64 65 20 |roup %.\|catcode |
|00002340| 36 31 3d 5c 6f 74 68 65 | 72 20 25 20 54 75 72 6e |61=\othe|r % Turn|
|00002350| 20 6f 66 66 20 63 68 61 | 6e 67 65 20 6d 61 64 65 | off cha|nge made|
|00002360| 20 69 6e 20 5c 64 65 66 | 70 61 72 73 65 62 6f 64 | in \def|parsebod|
|00002370| 79 0a 7d 0a 0a 25 20 40 | 64 65 66 6d 61 63 20 3d |y.}..% @|defmac =|
|00002380| 3d 20 40 64 65 66 66 6e | 20 4d 61 63 72 6f 0a 0a |= @deffn| Macro..|
|00002390| 5c 64 65 66 5c 64 65 66 | 6d 61 63 7b 5c 64 65 66 |\def\def|mac{\def|
|000023a0| 70 61 72 73 65 62 6f 64 | 79 5c 65 6e 64 64 65 66 |parsebod|y\enddef|
|000023b0| 6d 61 63 5c 64 65 66 6d | 61 63 78 5c 64 65 66 6d |mac\defm|acx\defm|
|000023c0| 61 63 68 65 61 64 65 72 | 7d 0a 0a 5c 64 65 66 5c |acheader|}..\def\|
|000023d0| 64 65 66 6d 61 63 68 65 | 61 64 65 72 23 31 23 32 |defmache|ader#1#2|
|000023e0| 7b 5c 66 6e 69 6e 64 65 | 78 62 6f 6c 64 7b 23 31 |{\fninde|xbold{#1|
|000023f0| 7d 25 20 4d 61 6b 65 20 | 65 6e 74 72 79 20 69 6e |}% Make |entry in|
|00002400| 20 66 75 6e 63 74 69 6f | 6e 20 69 6e 64 65 78 0a | functio|n index.|
|00002410| 5c 62 65 67 69 6e 67 72 | 6f 75 70 5c 64 65 66 6e |\begingr|oup\defn|
|00002420| 61 6d 65 7b 23 31 7d 7b | 4d 61 63 72 6f 7d 25 0a |ame{#1}{|Macro}%.|
|00002430| 5c 64 65 66 75 6e 61 72 | 67 73 7b 23 32 7d 5c 65 |\defunar|gs{#2}\e|
|00002440| 6e 64 67 72 6f 75 70 20 | 25 0a 5c 63 61 74 63 6f |ndgroup |%.\catco|
|00002450| 64 65 20 36 31 3d 5c 6f | 74 68 65 72 20 25 20 54 |de 61=\o|ther % T|
|00002460| 75 72 6e 20 6f 66 66 20 | 63 68 61 6e 67 65 20 6d |urn off |change m|
|00002470| 61 64 65 20 69 6e 20 5c | 64 65 66 70 61 72 73 65 |ade in \|defparse|
|00002480| 62 6f 64 79 0a 7d 0a 0a | 25 20 40 64 65 66 73 70 |body.}..|% @defsp|
|00002490| 65 63 20 3d 3d 20 40 64 | 65 66 66 6e 20 53 70 65 |ec == @d|effn Spe|
|000024a0| 63 69 61 6c 20 46 6f 72 | 6d 0a 0a 5c 64 65 66 5c |cial For|m..\def\|
|000024b0| 64 65 66 73 70 65 63 7b | 5c 64 65 66 70 61 72 73 |defspec{|\defpars|
|000024c0| 65 62 6f 64 79 5c 65 6e | 64 64 65 66 73 70 65 63 |ebody\en|ddefspec|
|000024d0| 5c 64 65 66 73 70 65 63 | 78 5c 64 65 66 73 70 65 |\defspec|x\defspe|
|000024e0| 63 68 65 61 64 65 72 7d | 0a 0a 5c 64 65 66 5c 64 |cheader}|..\def\d|
|000024f0| 65 66 73 70 65 63 68 65 | 61 64 65 72 23 31 23 32 |efspeche|ader#1#2|
|00002500| 7b 5c 66 6e 69 6e 64 65 | 78 62 6f 6c 64 7b 23 31 |{\fninde|xbold{#1|
|00002510| 7d 25 20 4d 61 6b 65 20 | 65 6e 74 72 79 20 69 6e |}% Make |entry in|
|00002520| 20 66 75 6e 63 74 69 6f | 6e 20 69 6e 64 65 78 0a | functio|n index.|
|00002530| 5c 62 65 67 69 6e 67 72 | 6f 75 70 5c 64 65 66 6e |\begingr|oup\defn|
|00002540| 61 6d 65 7b 23 31 7d 7b | 53 70 65 63 69 61 6c 20 |ame{#1}{|Special |
|00002550| 46 6f 72 6d 7d 25 0a 5c | 64 65 66 75 6e 61 72 67 |Form}%.\|defunarg|
|00002560| 73 7b 23 32 7d 5c 65 6e | 64 67 72 6f 75 70 20 25 |s{#2}\en|dgroup %|
|00002570| 0a 5c 63 61 74 63 6f 64 | 65 20 36 31 3d 5c 6f 74 |.\catcod|e 61=\ot|
|00002580| 68 65 72 20 25 20 54 75 | 72 6e 20 6f 66 66 20 63 |her % Tu|rn off c|
|00002590| 68 61 6e 67 65 20 6d 61 | 64 65 20 69 6e 20 5c 64 |hange ma|de in \d|
|000025a0| 65 66 70 61 72 73 65 62 | 6f 64 79 0a 7d 0a 0a 25 |efparseb|ody.}..%|
|000025b0| 20 54 68 69 73 20 64 65 | 66 69 6e 69 74 69 6f 6e | This de|finition|
|000025c0| 20 69 73 20 72 75 6e 20 | 69 66 20 79 6f 75 20 75 | is run |if you u|
|000025d0| 73 65 20 40 64 65 66 75 | 6e 78 0a 25 20 61 6e 79 |se @defu|nx.% any|
|000025e0| 77 68 65 72 65 20 6f 74 | 68 65 72 20 74 68 61 6e |where ot|her than|
|000025f0| 20 69 6d 6d 65 64 69 61 | 74 65 6c 79 20 61 66 74 | immedia|tely aft|
|00002600| 65 72 20 61 20 40 64 65 | 66 75 6e 20 6f 72 20 40 |er a @de|fun or @|
|00002610| 64 65 66 75 6e 78 2e 0a | 0a 5c 64 65 66 5c 64 65 |defunx..|.\def\de|
|00002620| 66 66 6e 78 23 31 7b 5c | 65 72 72 6d 65 73 73 61 |ffnx#1{\|errmessa|
|00002630| 67 65 7b 40 64 65 66 66 | 6e 78 20 69 6e 20 69 6e |ge{@deff|nx in in|
|00002640| 76 61 6c 69 64 20 63 6f | 6e 74 65 78 74 7d 7d 0a |valid co|ntext}}.|
|00002650| 5c 64 65 66 5c 64 65 66 | 75 6e 78 23 31 7b 5c 65 |\def\def|unx#1{\e|
|00002660| 72 72 6d 65 73 73 61 67 | 65 7b 40 64 65 66 75 6e |rrmessag|e{@defun|
|00002670| 78 20 69 6e 20 69 6e 76 | 61 6c 69 64 20 63 6f 6e |x in inv|alid con|
|00002680| 74 65 78 74 7d 7d 0a 5c | 64 65 66 5c 64 65 66 6d |text}}.\|def\defm|
|00002690| 61 63 78 23 31 7b 5c 65 | 72 72 6d 65 73 73 61 67 |acx#1{\e|rrmessag|
|000026a0| 65 7b 40 64 65 66 6d 61 | 63 78 20 69 6e 20 69 6e |e{@defma|cx in in|
|000026b0| 76 61 6c 69 64 20 63 6f | 6e 74 65 78 74 7d 7d 0a |valid co|ntext}}.|
|000026c0| 5c 64 65 66 5c 64 65 66 | 73 70 65 63 78 23 31 7b |\def\def|specx#1{|
|000026d0| 5c 65 72 72 6d 65 73 73 | 61 67 65 7b 40 64 65 66 |\errmess|age{@def|
|000026e0| 73 70 65 63 78 20 69 6e | 20 69 6e 76 61 6c 69 64 |specx in| invalid|
|000026f0| 20 63 6f 6e 74 65 78 74 | 7d 7d 0a 5c 64 65 66 5c | context|}}.\def\|
|00002700| 64 65 66 74 79 70 65 66 | 6e 78 23 31 7b 5c 65 72 |deftypef|nx#1{\er|
|00002710| 72 6d 65 73 73 61 67 65 | 7b 40 64 65 66 74 79 70 |rmessage|{@deftyp|
|00002720| 65 66 6e 78 20 69 6e 20 | 69 6e 76 61 6c 69 64 20 |efnx in |invalid |
|00002730| 63 6f 6e 74 65 78 74 7d | 7d 0a 5c 64 65 66 5c 64 |context}|}.\def\d|
|00002740| 65 66 74 79 70 65 75 6e | 78 23 31 7b 5c 65 72 72 |eftypeun|x#1{\err|
|00002750| 6d 65 73 73 61 67 65 7b | 40 64 65 66 74 79 70 65 |message{|@deftype|
|00002760| 75 6e 78 20 69 6e 20 69 | 6e 76 61 6c 69 64 20 63 |unx in i|nvalid c|
|00002770| 6f 6e 74 65 78 74 7d 7d | 0a 0a 25 20 40 64 65 66 |ontext}}|..% @def|
|00002780| 6d 65 74 68 6f 64 2c 20 | 61 6e 64 20 73 6f 20 6f |method, |and so o|
|00002790| 6e 0a 0a 25 20 40 64 65 | 66 6f 70 20 7b 46 75 6e |n..% @de|fop {Fun|
|000027a0| 6e 79 20 4d 65 74 68 6f | 64 7d 20 66 6f 6f 2d 63 |ny Metho|d} foo-c|
|000027b0| 6c 61 73 73 20 66 72 6f | 62 6e 69 63 61 74 65 20 |lass fro|bnicate |
|000027c0| 61 72 67 75 6d 65 6e 74 | 0a 0a 5c 64 65 66 5c 64 |argument|..\def\d|
|000027d0| 65 66 6f 70 23 31 7b 5c | 64 65 66 5c 64 65 66 6f |efop#1{\|def\defo|
|000027e0| 70 74 79 70 65 7b 23 31 | 7d 25 0a 5c 64 65 66 6f |ptype{#1|}%.\defo|
|000027f0| 70 70 61 72 73 65 62 6f | 64 79 5c 65 6e 64 64 65 |pparsebo|dy\endde|
|00002800| 66 6f 70 5c 64 65 66 6f | 70 78 5c 64 65 66 6f 70 |fop\defo|px\defop|
|00002810| 68 65 61 64 65 72 5c 64 | 65 66 6f 70 74 79 70 65 |header\d|efoptype|
|00002820| 7d 0a 0a 5c 64 65 66 5c | 64 65 66 6f 70 68 65 61 |}..\def\|defophea|
|00002830| 64 65 72 23 31 23 32 23 | 33 7b 25 0a 5c 64 6f 73 |der#1#2#|3{%.\dos|
|00002840| 75 62 69 6e 64 20 7b 66 | 6e 7d 7b 5c 63 6f 64 65 |ubind {f|n}{\code|
|00002850| 7b 23 32 7d 7d 7b 6f 6e | 23 31 7d 25 20 4d 61 6b |{#2}}{on|#1}% Mak|
|00002860| 65 20 65 6e 74 72 79 20 | 69 6e 20 66 75 6e 63 74 |e entry |in funct|
|00002870| 69 6f 6e 20 69 6e 64 65 | 78 0a 5c 62 65 67 69 6e |ion inde|x.\begin|
|00002880| 67 72 6f 75 70 5c 64 65 | 66 6e 61 6d 65 7b 23 32 |group\de|fname{#2|
|00002890| 7d 7b 5c 64 65 66 6f 70 | 74 79 70 65 7b 7d 20 6f |}{\defop|type{} o|
|000028a0| 6e 23 31 7d 25 0a 5c 64 | 65 66 75 6e 61 72 67 73 |n#1}%.\d|efunargs|
|000028b0| 7b 23 33 7d 5c 65 6e 64 | 67 72 6f 75 70 20 25 0a |{#3}\end|group %.|
|000028c0| 7d 0a 0a 25 20 40 64 65 | 66 6d 65 74 68 6f 64 20 |}..% @de|fmethod |
|000028d0| 3d 3d 20 40 64 65 66 6f | 70 20 4d 65 74 68 6f 64 |== @defo|p Method|
|000028e0| 0a 0a 5c 64 65 66 5c 64 | 65 66 6d 65 74 68 6f 64 |..\def\d|efmethod|
|000028f0| 7b 5c 64 65 66 6d 65 74 | 68 70 61 72 73 65 62 6f |{\defmet|hparsebo|
|00002900| 64 79 5c 65 6e 64 64 65 | 66 6d 65 74 68 6f 64 5c |dy\endde|fmethod\|
|00002910| 64 65 66 6d 65 74 68 6f | 64 78 5c 64 65 66 6d 65 |defmetho|dx\defme|
|00002920| 74 68 6f 64 68 65 61 64 | 65 72 7d 0a 0a 5c 64 65 |thodhead|er}..\de|
|00002930| 66 5c 64 65 66 6d 65 74 | 68 6f 64 68 65 61 64 65 |f\defmet|hodheade|
|00002940| 72 23 31 23 32 23 33 7b | 25 0a 5c 64 6f 73 75 62 |r#1#2#3{|%.\dosub|
|00002950| 69 6e 64 20 7b 66 6e 7d | 7b 5c 63 6f 64 65 7b 23 |ind {fn}|{\code{#|
|00002960| 32 7d 7d 7b 6f 6e 23 31 | 7d 25 20 65 6e 74 72 79 |2}}{on#1|}% entry|
|00002970| 20 69 6e 20 66 75 6e 63 | 74 69 6f 6e 20 69 6e 64 | in func|tion ind|
|00002980| 65 78 0a 5c 62 65 67 69 | 6e 67 72 6f 75 70 5c 64 |ex.\begi|ngroup\d|
|00002990| 65 66 6e 61 6d 65 7b 23 | 32 7d 7b 4d 65 74 68 6f |efname{#|2}{Metho|
|000029a0| 64 20 6f 6e 23 31 7d 25 | 0a 5c 64 65 66 75 6e 61 |d on#1}%|.\defuna|
|000029b0| 72 67 73 7b 23 33 7d 5c | 65 6e 64 67 72 6f 75 70 |rgs{#3}\|endgroup|
|000029c0| 20 25 0a 7d 0a 0a 25 20 | 40 64 65 66 63 76 20 7b | %.}..% |@defcv {|
|000029d0| 43 6c 61 73 73 20 4f 70 | 74 69 6f 6e 7d 20 66 6f |Class Op|tion} fo|
|000029e0| 6f 2d 63 6c 61 73 73 20 | 66 6f 6f 2d 66 6c 61 67 |o-class |foo-flag|
|000029f0| 0a 0a 5c 64 65 66 5c 64 | 65 66 63 76 23 31 7b 5c |..\def\d|efcv#1{\|
|00002a00| 64 65 66 5c 64 65 66 63 | 76 74 79 70 65 7b 23 31 |def\defc|vtype{#1|
|00002a10| 7d 25 0a 5c 64 65 66 6f | 70 76 61 72 70 61 72 73 |}%.\defo|pvarpars|
|00002a20| 65 62 6f 64 79 5c 65 6e | 64 64 65 66 63 76 5c 64 |ebody\en|ddefcv\d|
|00002a30| 65 66 63 76 78 5c 64 65 | 66 63 76 61 72 68 65 61 |efcvx\de|fcvarhea|
|00002a40| 64 65 72 5c 64 65 66 63 | 76 74 79 70 65 7d 0a 0a |der\defc|vtype}..|
|00002a50| 5c 64 65 66 5c 64 65 66 | 63 76 61 72 68 65 61 64 |\def\def|cvarhead|
|00002a60| 65 72 23 31 23 32 23 33 | 7b 25 0a 5c 64 6f 73 75 |er#1#2#3|{%.\dosu|
|00002a70| 62 69 6e 64 20 7b 76 72 | 7d 7b 5c 63 6f 64 65 7b |bind {vr|}{\code{|
|00002a80| 23 32 7d 7d 7b 6f 66 23 | 31 7d 25 20 4d 61 6b 65 |#2}}{of#|1}% Make|
|00002a90| 20 65 6e 74 72 79 20 69 | 6e 20 76 61 72 20 69 6e | entry i|n var in|
|00002aa0| 64 65 78 0a 5c 62 65 67 | 69 6e 67 72 6f 75 70 5c |dex.\beg|ingroup\|
|00002ab0| 64 65 66 6e 61 6d 65 7b | 23 32 7d 7b 5c 64 65 66 |defname{|#2}{\def|
|00002ac0| 63 76 74 79 70 65 7b 7d | 20 6f 66 23 31 7d 25 0a |cvtype{}| of#1}%.|
|00002ad0| 5c 64 65 66 76 61 72 61 | 72 67 73 20 7b 23 33 7d |\defvara|rgs {#3}|
|00002ae0| 5c 65 6e 64 67 72 6f 75 | 70 20 25 0a 7d 0a 0a 25 |\endgrou|p %.}..%|
|00002af0| 20 40 64 65 66 69 76 61 | 72 20 3d 3d 20 40 64 65 | @defiva|r == @de|
|00002b00| 66 63 76 20 7b 49 6e 73 | 74 61 6e 63 65 20 56 61 |fcv {Ins|tance Va|
|00002b10| 72 69 61 62 6c 65 7d 0a | 0a 5c 64 65 66 5c 64 65 |riable}.|.\def\de|
|00002b20| 66 69 76 61 72 7b 5c 64 | 65 66 76 72 70 61 72 73 |fivar{\d|efvrpars|
|00002b30| 65 62 6f 64 79 5c 65 6e | 64 64 65 66 69 76 61 72 |ebody\en|ddefivar|
|00002b40| 5c 64 65 66 69 76 61 72 | 78 5c 64 65 66 69 76 61 |\defivar|x\defiva|
|00002b50| 72 68 65 61 64 65 72 7d | 0a 0a 5c 64 65 66 5c 64 |rheader}|..\def\d|
|00002b60| 65 66 69 76 61 72 68 65 | 61 64 65 72 23 31 23 32 |efivarhe|ader#1#2|
|00002b70| 23 33 7b 25 0a 5c 64 6f | 73 75 62 69 6e 64 20 7b |#3{%.\do|subind {|
|00002b80| 76 72 7d 7b 5c 63 6f 64 | 65 7b 23 32 7d 7d 7b 6f |vr}{\cod|e{#2}}{o|
|00002b90| 66 23 31 7d 25 20 4d 61 | 6b 65 20 65 6e 74 72 79 |f#1}% Ma|ke entry|
|00002ba0| 20 69 6e 20 76 61 72 20 | 69 6e 64 65 78 0a 5c 62 | in var |index.\b|
|00002bb0| 65 67 69 6e 67 72 6f 75 | 70 5c 64 65 66 6e 61 6d |egingrou|p\defnam|
|00002bc0| 65 7b 23 32 7d 7b 49 6e | 73 74 61 6e 63 65 20 56 |e{#2}{In|stance V|
|00002bd0| 61 72 69 61 62 6c 65 20 | 6f 66 23 31 7d 25 0a 5c |ariable |of#1}%.\|
|00002be0| 64 65 66 76 61 72 61 72 | 67 73 20 7b 23 33 7d 5c |defvarar|gs {#3}\|
|00002bf0| 65 6e 64 67 72 6f 75 70 | 20 25 0a 7d 0a 0a 25 20 |endgroup| %.}..% |
|00002c00| 54 68 65 73 65 20 64 65 | 66 69 6e 69 74 69 6f 6e |These de|finition|
|00002c10| 73 20 61 72 65 20 72 75 | 6e 20 69 66 20 79 6f 75 |s are ru|n if you|
|00002c20| 20 75 73 65 20 40 64 65 | 66 6d 65 74 68 6f 64 78 | use @de|fmethodx|
|00002c30| 2c 20 65 74 63 2e 2c 0a | 25 20 61 6e 79 77 68 65 |, etc.,.|% anywhe|
|00002c40| 72 65 20 6f 74 68 65 72 | 20 74 68 61 6e 20 69 6d |re other| than im|
|00002c50| 6d 65 64 69 61 74 65 6c | 79 20 61 66 74 65 72 20 |mediatel|y after |
|00002c60| 61 20 40 64 65 66 6d 65 | 74 68 6f 64 2c 20 65 74 |a @defme|thod, et|
|00002c70| 63 2e 0a 0a 5c 64 65 66 | 5c 64 65 66 6f 70 78 23 |c...\def|\defopx#|
|00002c80| 31 7b 5c 65 72 72 6d 65 | 73 73 61 67 65 7b 40 64 |1{\errme|ssage{@d|
|00002c90| 65 66 6f 70 78 20 69 6e | 20 69 6e 76 61 6c 69 64 |efopx in| invalid|
|00002ca0| 20 63 6f 6e 74 65 78 74 | 7d 7d 0a 5c 64 65 66 5c | context|}}.\def\|
|00002cb0| 64 65 66 6d 65 74 68 6f | 64 78 23 31 7b 5c 65 72 |defmetho|dx#1{\er|
|00002cc0| 72 6d 65 73 73 61 67 65 | 7b 40 64 65 66 6d 65 74 |rmessage|{@defmet|
|00002cd0| 68 6f 64 78 20 69 6e 20 | 69 6e 76 61 6c 69 64 20 |hodx in |invalid |
|00002ce0| 63 6f 6e 74 65 78 74 7d | 7d 0a 5c 64 65 66 5c 64 |context}|}.\def\d|
|00002cf0| 65 66 63 76 78 23 31 7b | 5c 65 72 72 6d 65 73 73 |efcvx#1{|\errmess|
|00002d00| 61 67 65 7b 40 64 65 66 | 63 76 78 20 69 6e 20 69 |age{@def|cvx in i|
|00002d10| 6e 76 61 6c 69 64 20 63 | 6f 6e 74 65 78 74 7d 7d |nvalid c|ontext}}|
|00002d20| 0a 5c 64 65 66 5c 64 65 | 66 69 76 61 72 78 23 31 |.\def\de|fivarx#1|
|00002d30| 7b 5c 65 72 72 6d 65 73 | 73 61 67 65 7b 40 64 65 |{\errmes|sage{@de|
|00002d40| 66 69 76 61 72 78 20 69 | 6e 20 69 6e 76 61 6c 69 |fivarx i|n invali|
|00002d50| 64 20 63 6f 6e 74 65 78 | 74 7d 7d 0a 0a 25 20 4e |d contex|t}}..% N|
|00002d60| 6f 77 20 40 64 65 66 76 | 61 72 0a 0a 25 20 46 69 |ow @defv|ar..% Fi|
|00002d70| 72 73 74 2c 20 64 65 66 | 69 6e 65 20 74 68 65 20 |rst, def|ine the |
|00002d80| 70 72 6f 63 65 73 73 69 | 6e 67 20 74 68 61 74 20 |processi|ng that |
|00002d90| 69 73 20 77 61 6e 74 65 | 64 20 66 6f 72 20 61 72 |is wante|d for ar|
|00002da0| 67 75 6d 65 6e 74 73 20 | 6f 66 20 40 64 65 66 76 |guments |of @defv|
|00002db0| 61 72 2e 0a 25 20 54 68 | 69 73 20 69 73 20 61 63 |ar..% Th|is is ac|
|00002dc0| 74 75 61 6c 6c 79 20 73 | 69 6d 70 6c 65 3a 20 6a |tually s|imple: j|
|00002dd0| 75 73 74 20 70 72 69 6e | 74 20 74 68 65 6d 20 69 |ust prin|t them i|
|00002de0| 6e 20 72 6f 6d 61 6e 2e | 0a 25 20 54 68 69 73 20 |n roman.|.% This |
|00002df0| 6d 75 73 74 20 65 78 70 | 61 6e 64 20 74 68 65 20 |must exp|and the |
|00002e00| 61 72 67 73 20 61 6e 64 | 20 74 65 72 6d 69 6e 61 |args and| termina|
|00002e10| 74 65 20 74 68 65 20 70 | 61 72 61 67 72 61 70 68 |te the p|aragraph|
|00002e20| 20 74 68 65 79 20 6d 61 | 6b 65 20 75 70 0a 5c 64 | they ma|ke up.\d|
|00002e30| 65 66 5c 64 65 66 76 61 | 72 61 72 67 73 23 31 7b |ef\defva|rargs#1{|
|00002e40| 5c 6e 6f 72 6d 61 6c 70 | 61 72 65 6e 73 23 31 25 |\normalp|arens#1%|
|00002e50| 0a 5c 69 6e 74 65 72 6c | 69 6e 65 70 65 6e 61 6c |.\interl|inepenal|
|00002e60| 74 79 3d 31 30 30 30 30 | 0a 5c 65 6e 64 67 72 61 |ty=10000|.\endgra|
|00002e70| 66 5c 70 65 6e 61 6c 74 | 79 20 31 30 30 30 30 5c |f\penalt|y 10000\|
|00002e80| 76 73 6b 69 70 20 2d 5c | 70 61 72 73 6b 69 70 5c |vskip -\|parskip\|
|00002e90| 70 65 6e 61 6c 74 79 20 | 31 30 30 30 30 7d 0a 0a |penalty |10000}..|
|00002ea0| 25 20 40 64 65 66 76 72 | 20 43 6f 75 6e 74 65 72 |% @defvr| Counter|
|00002eb0| 20 66 6f 6f 2d 63 6f 75 | 6e 74 0a 0a 5c 64 65 66 | foo-cou|nt..\def|
|00002ec0| 5c 64 65 66 76 72 7b 5c | 64 65 66 76 72 70 61 72 |\defvr{\|defvrpar|
|00002ed0| 73 65 62 6f 64 79 5c 65 | 6e 64 64 65 66 76 72 5c |sebody\e|nddefvr\|
|00002ee0| 64 65 66 76 72 78 5c 64 | 65 66 76 72 68 65 61 64 |defvrx\d|efvrhead|
|00002ef0| 65 72 7d 0a 0a 5c 64 65 | 66 5c 64 65 66 76 72 68 |er}..\de|f\defvrh|
|00002f00| 65 61 64 65 72 23 31 23 | 32 23 33 7b 5c 76 72 69 |eader#1#|2#3{\vri|
|00002f10| 6e 64 65 78 62 6f 6c 64 | 7b 23 32 7d 25 0a 5c 62 |ndexbold|{#2}%.\b|
|00002f20| 65 67 69 6e 67 72 6f 75 | 70 5c 64 65 66 6e 61 6d |egingrou|p\defnam|
|00002f30| 65 7b 23 32 7d 7b 23 31 | 7d 5c 64 65 66 76 61 72 |e{#2}{#1|}\defvar|
|00002f40| 61 72 67 73 7b 23 33 7d | 5c 65 6e 64 67 72 6f 75 |args{#3}|\endgrou|
|00002f50| 70 7d 0a 0a 25 20 40 64 | 65 66 76 61 72 20 3d 3d |p}..% @d|efvar ==|
|00002f60| 20 40 64 65 66 76 72 20 | 56 61 72 69 61 62 6c 65 | @defvr |Variable|
|00002f70| 0a 0a 5c 64 65 66 5c 64 | 65 66 76 61 72 7b 5c 64 |..\def\d|efvar{\d|
|00002f80| 65 66 76 61 72 70 61 72 | 73 65 62 6f 64 79 5c 65 |efvarpar|sebody\e|
|00002f90| 6e 64 64 65 66 76 61 72 | 5c 64 65 66 76 61 72 78 |nddefvar|\defvarx|
|00002fa0| 5c 64 65 66 76 61 72 68 | 65 61 64 65 72 7d 0a 0a |\defvarh|eader}..|
|00002fb0| 5c 64 65 66 5c 64 65 66 | 76 61 72 68 65 61 64 65 |\def\def|varheade|
|00002fc0| 72 23 31 23 32 7b 5c 76 | 72 69 6e 64 65 78 62 6f |r#1#2{\v|rindexbo|
|00002fd0| 6c 64 7b 23 31 7d 25 20 | 4d 61 6b 65 20 65 6e 74 |ld{#1}% |Make ent|
|00002fe0| 72 79 20 69 6e 20 76 61 | 72 20 69 6e 64 65 78 0a |ry in va|r index.|
|00002ff0| 5c 62 65 67 69 6e 67 72 | 6f 75 70 5c 64 65 66 6e |\begingr|oup\defn|
|00003000| 61 6d 65 7b 23 31 7d 7b | 56 61 72 69 61 62 6c 65 |ame{#1}{|Variable|
|00003010| 7d 25 0a 5c 64 65 66 76 | 61 72 61 72 67 73 20 7b |}%.\defv|arargs {|
|00003020| 23 32 7d 5c 65 6e 64 67 | 72 6f 75 70 20 25 0a 7d |#2}\endg|roup %.}|
|00003030| 0a 0a 25 20 40 64 65 66 | 6f 70 74 20 3d 3d 20 40 |..% @def|opt == @|
|00003040| 64 65 66 76 72 20 7b 55 | 73 65 72 20 4f 70 74 69 |defvr {U|ser Opti|
|00003050| 6f 6e 7d 0a 0a 5c 64 65 | 66 5c 64 65 66 6f 70 74 |on}..\de|f\defopt|
|00003060| 7b 5c 64 65 66 76 61 72 | 70 61 72 73 65 62 6f 64 |{\defvar|parsebod|
|00003070| 79 5c 65 6e 64 64 65 66 | 6f 70 74 5c 64 65 66 6f |y\enddef|opt\defo|
|00003080| 70 74 78 5c 64 65 66 6f | 70 74 68 65 61 64 65 72 |ptx\defo|ptheader|
|00003090| 7d 0a 0a 5c 64 65 66 5c | 64 65 66 6f 70 74 68 65 |}..\def\|defopthe|
|000030a0| 61 64 65 72 23 31 23 32 | 7b 5c 76 72 69 6e 64 65 |ader#1#2|{\vrinde|
|000030b0| 78 62 6f 6c 64 7b 23 31 | 7d 25 20 4d 61 6b 65 20 |xbold{#1|}% Make |
|000030c0| 65 6e 74 72 79 20 69 6e | 20 76 61 72 20 69 6e 64 |entry in| var ind|
|000030d0| 65 78 0a 5c 62 65 67 69 | 6e 67 72 6f 75 70 5c 64 |ex.\begi|ngroup\d|
|000030e0| 65 66 6e 61 6d 65 7b 23 | 31 7d 7b 55 73 65 72 20 |efname{#|1}{User |
|000030f0| 4f 70 74 69 6f 6e 7d 25 | 0a 5c 64 65 66 76 61 72 |Option}%|.\defvar|
|00003100| 61 72 67 73 20 7b 23 32 | 7d 5c 65 6e 64 67 72 6f |args {#2|}\endgro|
|00003110| 75 70 20 25 0a 7d 0a 0a | 25 20 40 64 65 66 74 79 |up %.}..|% @defty|
|00003120| 70 65 76 61 72 20 69 6e | 74 20 66 6f 6f 62 61 72 |pevar in|t foobar|
|00003130| 0a 0a 5c 64 65 66 5c 64 | 65 66 74 79 70 65 76 61 |..\def\d|eftypeva|
|00003140| 72 7b 5c 64 65 66 76 61 | 72 70 61 72 73 65 62 6f |r{\defva|rparsebo|
|00003150| 64 79 5c 65 6e 64 64 65 | 66 74 79 70 65 76 61 72 |dy\endde|ftypevar|
|00003160| 5c 64 65 66 74 79 70 65 | 76 61 72 78 5c 64 65 66 |\deftype|varx\def|
|00003170| 74 79 70 65 76 61 72 68 | 65 61 64 65 72 7d 0a 0a |typevarh|eader}..|
|00003180| 25 23 31 20 69 73 20 74 | 68 65 20 64 61 74 61 20 |%#1 is t|he data |
|00003190| 74 79 70 65 2e 20 20 23 | 32 20 69 73 20 74 68 65 |type. #|2 is the|
|000031a0| 20 6e 61 6d 65 2e 0a 5c | 64 65 66 5c 64 65 66 74 | name..\|def\deft|
|000031b0| 79 70 65 76 61 72 68 65 | 61 64 65 72 23 31 23 32 |ypevarhe|ader#1#2|
|000031c0| 7b 25 0a 5c 76 72 69 6e | 64 65 78 62 6f 6c 64 7b |{%.\vrin|dexbold{|
|000031d0| 23 32 7d 25 20 4d 61 6b | 65 20 65 6e 74 72 79 20 |#2}% Mak|e entry |
|000031e0| 69 6e 20 76 61 72 69 61 | 62 6c 65 73 20 69 6e 64 |in varia|bles ind|
|000031f0| 65 78 0a 5c 62 65 67 69 | 6e 67 72 6f 75 70 5c 64 |ex.\begi|ngroup\d|
|00003200| 65 66 6e 61 6d 65 7b 5c | 63 6f 64 65 7b 23 31 7d |efname{\|code{#1}|
|00003210| 20 23 32 7d 7b 56 61 72 | 69 61 62 6c 65 7d 25 0a | #2}{Var|iable}%.|
|00003220| 5c 69 6e 74 65 72 6c 69 | 6e 65 70 65 6e 61 6c 74 |\interli|nepenalt|
|00003230| 79 3d 31 30 30 30 30 0a | 5c 65 6e 64 67 72 61 66 |y=10000.|\endgraf|
|00003240| 5c 70 65 6e 61 6c 74 79 | 20 31 30 30 30 30 5c 76 |\penalty| 10000\v|
|00003250| 73 6b 69 70 20 2d 5c 70 | 61 72 73 6b 69 70 5c 70 |skip -\p|arskip\p|
|00003260| 65 6e 61 6c 74 79 20 31 | 30 30 30 30 0a 5c 65 6e |enalty 1|0000.\en|
|00003270| 64 67 72 6f 75 70 7d 0a | 0a 25 20 40 64 65 66 74 |dgroup}.|.% @deft|
|00003280| 79 70 65 76 72 20 7b 47 | 6c 6f 62 61 6c 20 46 6c |ypevr {G|lobal Fl|
|00003290| 61 67 7d 20 69 6e 74 20 | 65 6e 61 62 6c 65 0a 0a |ag} int |enable..|
|000032a0| 5c 64 65 66 5c 64 65 66 | 74 79 70 65 76 72 7b 5c |\def\def|typevr{\|
|000032b0| 64 65 66 76 72 70 61 72 | 73 65 62 6f 64 79 5c 65 |defvrpar|sebody\e|
|000032c0| 6e 64 64 65 66 74 79 70 | 65 76 72 5c 64 65 66 74 |nddeftyp|evr\deft|
|000032d0| 79 70 65 76 72 78 5c 64 | 65 66 74 79 70 65 76 72 |ypevrx\d|eftypevr|
|000032e0| 68 65 61 64 65 72 7d 0a | 0a 5c 64 65 66 5c 64 65 |header}.|.\def\de|
|000032f0| 66 74 79 70 65 76 72 68 | 65 61 64 65 72 23 31 23 |ftypevrh|eader#1#|
|00003300| 32 23 33 7b 5c 76 72 69 | 6e 64 65 78 62 6f 6c 64 |2#3{\vri|ndexbold|
|00003310| 7b 23 33 7d 25 0a 5c 62 | 65 67 69 6e 67 72 6f 75 |{#3}%.\b|egingrou|
|00003320| 70 5c 64 65 66 6e 61 6d | 65 7b 5c 63 6f 64 65 7b |p\defnam|e{\code{|
|00003330| 23 32 7d 20 23 33 7d 7b | 23 31 7d 0a 5c 69 6e 74 |#2} #3}{|#1}.\int|
|00003340| 65 72 6c 69 6e 65 70 65 | 6e 61 6c 74 79 3d 31 30 |erlinepe|nalty=10|
|00003350| 30 30 30 0a 5c 65 6e 64 | 67 72 61 66 5c 70 65 6e |000.\end|graf\pen|
|00003360| 61 6c 74 79 20 31 30 30 | 30 30 5c 76 73 6b 69 70 |alty 100|00\vskip|
|00003370| 20 2d 5c 70 61 72 73 6b | 69 70 5c 70 65 6e 61 6c | -\parsk|ip\penal|
|00003380| 74 79 20 31 30 30 30 30 | 0a 5c 65 6e 64 67 72 6f |ty 10000|.\endgro|
|00003390| 75 70 7d 0a 0a 25 20 54 | 68 69 73 20 64 65 66 69 |up}..% T|his defi|
|000033a0| 6e 69 74 69 6f 6e 20 69 | 73 20 72 75 6e 20 69 66 |nition i|s run if|
|000033b0| 20 79 6f 75 20 75 73 65 | 20 40 64 65 66 76 61 72 | you use| @defvar|
|000033c0| 78 0a 25 20 61 6e 79 77 | 68 65 72 65 20 6f 74 68 |x.% anyw|here oth|
|000033d0| 65 72 20 74 68 61 6e 20 | 69 6d 6d 65 64 69 61 74 |er than |immediat|
|000033e0| 65 6c 79 20 61 66 74 65 | 72 20 61 20 40 64 65 66 |ely afte|r a @def|
|000033f0| 76 61 72 20 6f 72 20 40 | 64 65 66 76 61 72 78 2e |var or @|defvarx.|
|00003400| 0a 0a 5c 64 65 66 5c 64 | 65 66 76 72 78 23 31 7b |..\def\d|efvrx#1{|
|00003410| 5c 65 72 72 6d 65 73 73 | 61 67 65 7b 40 64 65 66 |\errmess|age{@def|
|00003420| 76 72 78 20 69 6e 20 69 | 6e 76 61 6c 69 64 20 63 |vrx in i|nvalid c|
|00003430| 6f 6e 74 65 78 74 7d 7d | 0a 5c 64 65 66 5c 64 65 |ontext}}|.\def\de|
|00003440| 66 76 61 72 78 23 31 7b | 5c 65 72 72 6d 65 73 73 |fvarx#1{|\errmess|
|00003450| 61 67 65 7b 40 64 65 66 | 76 61 72 78 20 69 6e 20 |age{@def|varx in |
|00003460| 69 6e 76 61 6c 69 64 20 | 63 6f 6e 74 65 78 74 7d |invalid |context}|
|00003470| 7d 0a 5c 64 65 66 5c 64 | 65 66 6f 70 74 78 23 31 |}.\def\d|efoptx#1|
|00003480| 7b 5c 65 72 72 6d 65 73 | 73 61 67 65 7b 40 64 65 |{\errmes|sage{@de|
|00003490| 66 6f 70 74 78 20 69 6e | 20 69 6e 76 61 6c 69 64 |foptx in| invalid|
|000034a0| 20 63 6f 6e 74 65 78 74 | 7d 7d 0a 5c 64 65 66 5c | context|}}.\def\|
|000034b0| 64 65 66 74 79 70 65 76 | 61 72 78 23 31 7b 5c 65 |deftypev|arx#1{\e|
|000034c0| 72 72 6d 65 73 73 61 67 | 65 7b 40 64 65 66 74 79 |rrmessag|e{@defty|
|000034d0| 70 65 76 61 72 78 20 69 | 6e 20 69 6e 76 61 6c 69 |pevarx i|n invali|
|000034e0| 64 20 63 6f 6e 74 65 78 | 74 7d 7d 0a 5c 64 65 66 |d contex|t}}.\def|
|000034f0| 5c 64 65 66 74 79 70 65 | 76 72 78 23 31 7b 5c 65 |\deftype|vrx#1{\e|
|00003500| 72 72 6d 65 73 73 61 67 | 65 7b 40 64 65 66 74 79 |rrmessag|e{@defty|
|00003510| 70 65 76 72 78 20 69 6e | 20 69 6e 76 61 6c 69 64 |pevrx in| invalid|
|00003520| 20 63 6f 6e 74 65 78 74 | 7d 7d 0a 0a 25 20 4e 6f | context|}}..% No|
|00003530| 77 20 64 65 66 69 6e 65 | 20 40 64 65 66 74 70 0a |w define| @deftp.|
|00003540| 25 20 41 72 67 73 20 61 | 72 65 20 70 72 69 6e 74 |% Args a|re print|
|00003550| 65 64 20 69 6e 20 62 6f | 6c 64 2c 20 61 20 73 6c |ed in bo|ld, a sl|
|00003560| 69 67 68 74 20 64 69 66 | 66 65 72 65 6e 63 65 20 |ight dif|ference |
|00003570| 66 72 6f 6d 20 40 64 65 | 66 76 61 72 2e 0a 0a 5c |from @de|fvar...\|
|00003580| 64 65 66 5c 64 65 66 74 | 70 61 72 67 73 23 31 7b |def\deft|pargs#1{|
|00003590| 5c 62 66 20 5c 64 65 66 | 76 61 72 61 72 67 73 7b |\bf \def|varargs{|
|000035a0| 23 31 7d 7d 0a 0a 25 20 | 40 64 65 66 74 70 20 43 |#1}}..% |@deftp C|
|000035b0| 6c 61 73 73 20 77 69 6e | 64 6f 77 20 68 65 69 67 |lass win|dow heig|
|000035c0| 68 74 20 77 69 64 74 68 | 20 2e 2e 2e 0a 0a 5c 64 |ht width| .....\d|
|000035d0| 65 66 5c 64 65 66 74 70 | 7b 5c 64 65 66 76 72 70 |ef\deftp|{\defvrp|
|000035e0| 61 72 73 65 62 6f 64 79 | 5c 65 6e 64 64 65 66 74 |arsebody|\enddeft|
|000035f0| 70 5c 64 65 66 74 70 78 | 5c 64 65 66 74 70 68 65 |p\deftpx|\deftphe|
|00003600| 61 64 65 72 7d 0a 0a 5c | 64 65 66 5c 64 65 66 74 |ader}..\|def\deft|
|00003610| 70 68 65 61 64 65 72 23 | 31 23 32 23 33 7b 5c 74 |pheader#|1#2#3{\t|
|00003620| 70 69 6e 64 65 78 62 6f | 6c 64 7b 23 32 7d 25 0a |pindexbo|ld{#2}%.|
|00003630| 5c 62 65 67 69 6e 67 72 | 6f 75 70 5c 64 65 66 6e |\begingr|oup\defn|
|00003640| 61 6d 65 7b 23 32 7d 7b | 23 31 7d 5c 64 65 66 74 |ame{#2}{|#1}\deft|
|00003650| 70 61 72 67 73 7b 23 33 | 7d 5c 65 6e 64 67 72 6f |pargs{#3|}\endgro|
|00003660| 75 70 7d 0a 0a 25 20 54 | 68 69 73 20 64 65 66 69 |up}..% T|his defi|
|00003670| 6e 69 74 69 6f 6e 20 69 | 73 20 72 75 6e 20 69 66 |nition i|s run if|
|00003680| 20 79 6f 75 20 75 73 65 | 20 40 64 65 66 74 70 78 | you use| @deftpx|
|00003690| 2c 20 65 74 63 0a 25 20 | 61 6e 79 77 68 65 72 65 |, etc.% |anywhere|
|000036a0| 20 6f 74 68 65 72 20 74 | 68 61 6e 20 69 6d 6d 65 | other t|han imme|
|000036b0| 64 69 61 74 65 6c 79 20 | 61 66 74 65 72 20 61 20 |diately |after a |
|000036c0| 40 64 65 66 74 70 2c 20 | 65 74 63 2e 0a 0a 5c 64 |@deftp, |etc...\d|
|000036d0| 65 66 5c 64 65 66 74 70 | 78 23 31 7b 5c 65 72 72 |ef\deftp|x#1{\err|
|000036e0| 6d 65 73 73 61 67 65 7b | 40 64 65 66 74 70 78 20 |message{|@deftpx |
|000036f0| 69 6e 20 69 6e 76 61 6c | 69 64 20 63 6f 6e 74 65 |in inval|id conte|
|00003700| 78 74 7d 7d 0a 0a 0a | |xt}}... | |
+--------+-------------------------+-------------------------+--------+--------+